常用的web服务器软件整理(win+linux)

常用的web服务器软件整理(win+linux),第1张

(1)Apache Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自"a patchy server"的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。

特点就是处理php页面,如果需要执行php的内容过多可以采用apache,如果静态内容多可以用nginx

(2)IIS是英文Internet Information Server的缩写,译成中文就是"Internet信息服务"的意思。它是微软公司主推的服务器,最新的版本是Windows2016里面包含的IIS 10,IIS与Window Server完全集成在一起,因而用户能够利用Windows Server和NTFS(NT File System,NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。

服务器版本IIS默认版本server200360server200870server2008 r275server201280server201610windows服务器的首选,稳定性好。网站需要支持asp、aspnet的就需要用iis了

(3)GFE Google的web服务器,用户数量激增。目前紧逼iis。

(4)Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。

(5)Lighttpd是由德国人 Jan Kneschke 领导开发的,基于BSD许可的开源WEB服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。Lighttpd 是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。

(6)Zeus是一个运行于Unix下的非常优秀的Web Server,据说性能超过Apache,是效率最高的Web Server之一。

(7)Sun的Java系统Web服务器也就是以前的Sun ONE Web Server。主要出现在那些运行Sun的Solaris操作系统的关键任务级Web服务器上。它最新的版本号是61,可以支持x86版本Solaris,Red Hat Linux,HP-UX 11i, IBM AIX,甚至可以支持Windows,但它的大多数用户都选择了SPARC版本的Solaris操作系统。

(8)Resin提供了最快的jsp/servlets运行平台。在java和javascript的支持下,Resin可以为任务灵活选用合适的开发语言。Resin的一种先进的语言XSL(XML stylesheet language)可以使得形式和内容相分离。

(9)Jetty是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。

(10)BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。 BEA WebLogic Server拥有处理关键Web应用系统问题所需的性能、可扩展性和高可用性。

(11)Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

(12)Nodejs是一个Javascript运行环境(runtime)。实际上它是对Chrome V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Nodejs对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。 Nodejs是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Nodejs 使用事件驱动, 非阻塞I/O模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

课题名称:基于Linux系统的Web服务器的安装与配置

  姓 名: 班 级:

   完成时间: 指导老师:

内容安排:

首先对WEB服务器的可行性进行研究,然后对主机的硬件和软件进行需求分析,在此基础上进行概要设计和详细设计。接下来对软件框架的各组成部分的实现分章进行详细的描述,最后总结实现一些关键的解决方法和改进的几个思路。

1、 绪论

简单介绍了一下架设WEB网站的意义, WEB服务器的工作原理, 企业背景介绍,并简要介绍了论文的内容要求。

2、 Web服务器的基础知识

对什么是WEB服务、服务器软件Apache、脚本语言PHP、HTTP协议作了详细的介绍。

3、 Web服务器的设计过程

根据可行性的研究,对整个系统的软件和硬件需求进行分析。对软硬件进行架构设计,描述如何实现,包括基础理论分析,设计思路和设计方法,并对具体的设计步骤进行了重点理论解析。

4、 WEB服务器的建立

对系统的运行进行安装,了解Apache的体系结构及性能、PHP脚本配置环境,用Apache进行设置虚拟主机,实现基于IP地址虚拟主机服务,先规划IP地址:为虚拟主机申请新的IP地址,让ISP做好相应的域名解析工作,为网卡设置IP别名,重新设置“/etc/httpd/conf/httpdconf”文件,建立相应的目录,将主页的内容放到相应的目录中去就行了,再配置一下PHP语言脚本环境。测试一下能否实现的可行性。

5、问题和改进

实现中可能遇到的问题及解决方法,服务器改进的方向。

6、作简要的总结。

论文的技术路线及预期目标:

技术路线:在Linux平台下配置一个WEB服务器环境,使网站正常运行,首先需要在一台PC机上创建一个Linux平台,由于我们绝大部分PC用的是Windows的操作系统,对此,我们可采用虚拟机VMware Workstation在Windows系统下虚拟一个Linux平台,然后运用与Linux兼容性良好的Apache服务软件、PHP语言脚本配置环境,基于Linux操作系统,架设一个稳定、安全、高效的WEB服务器环境,可支持运行以PHP或者HTML为基础的网页,要求正确安装好操作系统Linux WEB服务器软件Apache、脚本语言PHP,了解有关参数,同时合理设置,使得服务器环境简易高效。

预期目标:在Linux环境下运用兼容性良好的Apache服务软件实现一个Web服务器,在局域网内,将此服务器程序在一台计算机上运行,使网内其它计算机访问这台服务器时,实现HTTP协议的传输,并能解析以PHP或者HTML为基础的网页。

课题进度计划:

完成课题所需条件及落实措施:

所需条件:计算机一台、CentOS 52版本的Linux操作系统、虚拟机软件VMware Workstation及各种相关软件,有关Linux操作系统方面的资料(书籍、网络资料)。

落实措施:在计算机上先安装虚拟机软件VMware Workstation,采用虚拟机VMware在Windows系统下虚拟一个Linux平台,然后运用与Linux兼容性良好的Apache服务软件,PHP语言脚本配置环境。

参考文献、资料:

[1] Red Hat Linux大全,David Pitls编著,姚彦忠 译,机械工业出版社,1999年1月出版

[2] Linux服务器性能调整,(美)约翰逊,(美)威曾格,(美)普拉瓦提 著,韩智文 译,清华大学出版社,2009年9月出版

[3] Linux服务器架设,杨鹏编著,清华大学出版社,2008年出版

[4] Linux网络服务器应用教程,王兴主编,中国铁道出版社,2009年9月出版

1,Linux下架FTP!!

Linux下一般最常用的工具wu-ftpd

wu-ftpd的安装非常容易,大多数版本的Linux中都包含了wu-ftpd的rpm软件包,你可以在安装Linux时指定装入。如果你想自行编译源代码,也可以到ftp://ftpwu-ftpdorg下载最新版本的源代码包。

安装好以后,可以用ckconfig命令来检查是否已经正确安装。在/etc/passwd中可以指定ftp用户的登入目录。

wu-ftpd主要有以下6个配置文件:

ftpaccess(主要配置文件,控制存取权限)

ftpconvertions(配置文件压缩/解压缩转换)

ftpgroups(设定ftp自己定义的群组)

ftphosts(设定个别的用户权限)

ftpservers(设定不同IP/Domain Name以对应到不同的虚拟主机)

ftpusers(设定哪些帐号不能用ftp连线)

下面我们来一一介绍。

⒈/etc/ftpaccess(wu-ftpd的主要配置文件)

class--定义群组,用法如下:

class<种类>;<用户地址>;[<用户地址>;……]

由class定义的群组用户才可以连线进来,可以使用多层式的class来规范哪些群组的用户能够从哪些地方上来。这里有三个重要的种类,real、anonymous个guest。real如果没有列在定义中,那么这台机器中任何真实的一般用户都无法用自己的帐号连上来。anonymous如果没有在定义,就表示不让没有帐号的的人连上来。如果有定义guest,那么guest群组的人就可以上来。另外<用户地址>;是指ftp上来的用户会用到的IP地址,则可自行设定。以下是一些例子:

class all real,guest,anonymous

定义了一个名为all的class,包含三种人,所有IP的连线用户(也就是所有人都包括了)

class local real localhost loopback

local这个class说,只有real的用户可以从本机机器连上来

class remote guest,anonymous

remote这个class包含了从任何地方上来的guest和anonymous用户,但是real用户不算

class rmtuser real !examplecom

rmtuser这个class包含了从外面来的(除了examplecom)真实用户

autogroup--自动对应群组,用法如下:

autogroup[……]

当你定义好的那些同属于一个class的用户,一旦连线上来就会被对应到一个相应的群组下面,这样你就可以用Unix的文件权限对某一群人做限制。

deny--拒绝某些地址连线,用法如下:

deny<拒绝连线的地址>;<信息文件>;

禁止某些机器连线,并显示<信息文件>;。例如:

deny 21062146:255255255254 /etc/rejectmsg

guestgroup--设定访客群

guestuser--设定访客帐号

realgroup--设定真实群组

realuser--设定真实帐号

nice--设定给某些class多少优先权,用法如下:

nice

在Linux中,nice的值是-20(最优先)到19(最后处理),这里你可以指定负的值来提高某class的优先顺序。

defumask--设定某class的umask,用法如下:

defumask[]

umask是建立文件时该文件的的权限掩码

tcpwindow--设定tcpwindow的大小

keepalive--设定是否使用TCP SO_KEEPALIVE来控制断线情形

timeout--设定连线超时,用法如下:

timeout accept<秒>;

接受连线超时,预设120秒

timeout connect<秒>;

连线建立超时,预设120秒

timeout data<秒>;

数据传送超时,预设1200秒

timeout idle<秒>;

用户发呆超时,预设900秒

file-limit--限制某class只能传几个文件,用法如下:

file-limit[][]

对某个class限制存取文件的数目,包含了in(上传)、out(下载),total raw代表整个传输的结果,不光是数据文件。例如:

file-limit out 20 lvfour

限制lvfour这个class的用户最多只能下载20个文件

byte-limit--限制某class只能传几个字节,用法跟file-limit相似

limit-time--限制一个连线只能持续多久,用法如下:

limit-time{|anonymous|guest}<分钟>;

为了避免有人挂在站上不下来,可以用这个方法限制用户的上线时间,例如:

limit-time guest 5

让guest帐号的用户只能用5分钟

limit--限制某class能同时几人上线,用法如下:

limit<连线数目>;<时间区段>;<额满信息文件>;

设定某个class在某一时间区段内最多能够几人同时上线,后面是当超过连线数目时要显示的信息。例如:

limit all 32 Any /home/ftp/etc/toomanyusermsg

限制所有连线在任何时间只能有32个用户,超过则拒绝连线并显示信息

limit levellone 5 Any2300-0600 /home/ftp/etc/toomanyusermsg

限制levellone这个class的用户在23:00到6:00这段时间内只能有5人连线

noretrieve--设定哪些文件不可下载

noretrieve[absolute/relative][class=]…[-][<文件名>;…]

absolute或relative指文件是用绝对路径还是相对路径

allow=retrieve--设定哪些文件可以下载

allow[absolute/relative][class=]…[-][<文件名>;…]

loginfails--设置登入错误可尝试的次数

当用户连线时可能打错ID或密码,这个设定可以让他打错几次以后就断线,避免有人用穷举法猜测密码。

private--设定线上是否可以执行SITE GROUP/SITE GPASS

当开放SITE GROUP与SITE GPASS指令时,可以用这两个指令切换到/etc/ftpgroup的群组。一般而言我们不会用到这个功能,以避免安全漏洞。

greeting--显示Server的版本信息,用法如下:

greeting

当用户登入画面显示的server信息,full是预设值,包含版本号以及hostname,brief只有hostname,而terse只有“FTP server ready”的信息。

barnner--设定未进入Login画面之前用户看到的信息,用法如下:

banner<文件路径>;

这里叙述了在用户登入时,在还没打ID/Password之前要出现的信息。文件路径指的是相对于真实的路径,而不是相对于ftp的根目录。

host--设定ftp主机名

email--指定ftp管理者的email地址

message--信息文件的设定,用法如下:

message<文件>;{<何时>;{……}}

这里的文件的路径是相对于ftp的根目录的,“何时”是指当你做了什么动作之后的反应,有几个选择:

login(登入时)

cwd=<目录>;(进入某目录时)

class 名称是前面已经定义过的,允许你的信息只对哪些人发出。

而信息文件的内容除了文字以外,还可以使用以下一些事先定义好的代号:

%T(本机时间)

%F(目前分区所剩余的空间)

%C(目前所在的目录)

%E(管理者的E-mail)

%R(客户端主机名称)

%L(本机主机名称)

%U(用户名称)

%M(与我相同class用户允许多少人连线)

%N(与我相同class用户目前有多少人连线)

%B(绝对磁盘限制大小,目前分区(单位blocks))

%b(preferred磁盘限制大小,目前分区(单位blocks))

%Q(目前已使用的blocks)

%I(最大可使用的inodes(+1))

%i(Preferred inodes限制)

%q(目前使用的indoes)

%H(超量使用磁盘空间的时间限制)

%h(超量使用文件数目的时间限制)

readme--通知用户哪些README文件已经更新

log commands--记录用户所使用过的命令,用法如下:

log commands<用户种类>;

log transfers--记录用户所传输的文件,用法如下:

log transfers<用户种类>;<传输方向>;

设定有哪些类型的用户传输文件需要记录,包含了inbound(用户上传)和outbound(用户下载),例如:

log transfers anonymous,guest inbound,outbound

log security--记录安全性,用法如下:

log security<用户种类>;

特别用于记录某类用户关于noretrive、notar等有关安全性的记录

log syslog--记录到系统的syslog文件

alias--设定目录别名,用法如下:

alias<别名字符串>;<目录>;

cdpath--设定cd更换目录搜索顺序

compress,tar--设定是否自动压缩,用法如下:

compress[……]

tar[……]

定义哪些人可以执行压缩以及tar

shutdown--通知用户要关站了

shutdown<信息文件>;

如果信息文件存在的话,当这个文件指定的某时间以后,就会拒绝连线并切断已有的连线,等时间一到就关机。这个信息文件的格式如下:

<年>;<月>;<日>;<时>;<分>;<拒绝倒数>;<断线倒数>;<文字>;

daemon address--指定只监听某个IP地址,用法如下:

daemon address

当你有许多IP的时候,使用这个选项将会取消其它任何虚拟FTP主机的设定。不设定的话,监听所有IP。

virtual--设定虚拟FTP站台

wu-ftpd提供了虚拟主机的功能,也就是说,在同一台机器上提供了不同FTP站台,以主机名称或IP来区分;当然你要用名称的话,还需要跟DNS配合才行。virtual有很多个设定:

virtual

<路径>;

可以是主机名或IP地址

root指的是ftp的根目录,banner是欢迎信息,logfile指的是这个虚拟站台的log文件

以下是一些例子:

virtual virtualcombj root /home/ftp2

virtual virtualcombj banner /etc/vftpbanner2

virtual virtualcombj logfile /etc/viftplog2

virtual

<字母>;

用户可以查到hostname跟管理者email,以下是一些例子:

virtual 2106214650 hostname virtualsitecombj

virtual vritualsitecombj email ftpown@virtualsitecombj

virtual

allow<用户>;[<用户>;……]

virtual

deny<用户>;[<用户>;……]

很明显,以上两个选项是设定是否允许连线的,以下是一些例子:

virtual virtualsitecombj allow

virtual virtualsitecombj deny badman

virtual

private

本虚拟站台拒绝anonymous用户

defaultserver deny <用户>;[<用户>;……]

defaultserver allow <用户>;[<用户>;……]

当我们使用了虚拟主机,原先的deny,allow设定不知道要设哪个server,所以会无效,用defaultserver代表原来的主机

defaultserver private

主站台拒绝anonymous用户

passive address--转换IP数值

passive address<外部IP>;/cidr

passive ports--passive的ports范围

passive ports

pasv-allow--允许使用pasv

pasv-allow[<地址>;……]

port-allow--允许使用port

port-allow[<地址>;……]

mailserver--指定Upload通知的mail服务器

incmail--指定anonymous upload的email通知地址

virtual incmail--指定虚拟主机anonymous upload的email通知地址

defaultserver incmail--指定预设主机anonymous upload的email通知地址

mailfrom--通知的寄信人upload

virtual mailfrom--虚拟主机upload通知的寄信人

defaultserver mailfrom--预设主机upload通知的寄信人

chmod--设定是否可以改变文件权限

delete--设定是否可以删除文件

overwrite--覆盖文件

rename--重命名文件

umask--允许设定umask

passwd-check--设定anonymous FTP的密码检查程度,用法如下:

passwd-check()

设定对anonymous ftp用户的密码是否检查,none表示不检查,trivial为包含@的任意密码,rfc822则表示密码要遵循RFC822格式,enforce表示密码检查不过不允许进入,warn表示密码检查不过只出现警告信息。

deny=email--拒绝特定的email当密码

path-filer--摄定哪些文件名不可使用

path-filer<错误信息文件>;<允许字符>;<不允许字符>;

upload--设定upload权限

upload[absloute/relative][class=]…[-]<设定的目录>; >;[dirs/nodirs][d_mode]

用来对我们要设定的目录做权限设定:

absoulte/relative使用绝对路径或是相对路径

class=指定某个class

root-dir指的是对哪些root-dir的人,也就是chroot后的登入目录,应用这个规则

设定的目录指的就是我们要限制的目录

yes/no指得是能否在此目录下开新文件

owner,group指出是开出来的文件拥有者及群组

Mode指的是文件权限

dirs/nodirs指的是能否开新目录

d_mode设定建立新目录时目录的权限,如果不设定会根据mode来设定

thoughput--控制下载速度

thoughput<子目录列表>;<文件>;<远端地址列表>;

对远端的地址,控制他抓某个子目录下的某些文件时的速度,例如:

thoughput /e/ftp oo -

thoughput /e/ftp /sw 1024 05

thoughput /e/ftp sw readme oo -

thoughput /e/ftp sw oo - foocom

以上的设定你是否能够看出来呢?“oo”表示不限制bytes/sec,“-”或是“10”都是代表一倍。第一行的意思是说,在/e/ftp下面的文件不限制下载速度;第二行说,在/sw下面的任何文件限速为1024bytes/sec

05=512bytes/sec;第三行又把readme文件的限速取消;最后一行则对foocom开放全速。

anonymous-root--对某class设定匿名用户的根目录

anonymous-root[]

guest-root--预设一个guest用户根目录

guest-root[]

其中用于指定uid的范围

deny-uid,deny-gid--拒绝某段UID(GID)范围

allow-uid,allow-gid--允许某段UID(GID)范围

restricted-uid,restricted-gid--限制用户不能离开他的登录目录

unrestricted-uid,unrestricted-gid--用户可以离开他的登录目录

dns refuse_mismatch--设定DNS查到名称与用户设定不符的动作

dns refuse_mismatch<信息文件>;[override]

当用户使用未注册IP时,拒绝他的连线,override则是不理会错误而让他连线,信息文件则是我们要给用户看的。

dns refuse_no_reverse--设定无反查记录拒绝连线

dns refuse_no_reverse<信息文件>;[override]

当用户的IP反查无记录时,拒绝他的连线

dns resolveoptions--设定DNS解析选项

dns resolveoptions[options]

这里可以设定DNS解析选项

⒉/etc/ftphosts

ftphosts文件其实跟ftpaccess里面的access,deny很像,它是特别用来设定某些ID的连线,它没有class定义,所以必须是真实用户。

allow|deny<用户>;<地址>;[<地址>;……]

以下是一些例子:

allow rose 14000/8

deny jack 14012300:25525500

允许rose从140进来,拒绝jack从140123上来

⒊/etc/ftpservers

这个文件控制了当你有不同的IP/hostname的时候,进来的连线使用哪一个配置文件。例如:

1019614510 /etc/ftpd/ftpaccesssomedomain/

10196145200 /etc/ftpd/ftpaccesssomeotherdomain/

somedomain internal

1019614520 /etc/ftpd/config/faqsorg/

ftpsomedomain /etc/ftpd/config/faqsorg/

⒋/etc/ftpusers

在这个文件里记录的用户禁止使用FTP

⒌/etc/ftpgroups

给SITE GROUP指令使用,线上切换group。SITE EXEC容易造成安全漏洞,一般我们都不开放。

⒍/etc/ftpconversions

用来做tar、compress、gzip等动作指令配置文件,只要用预设即可,如果你不开放即时压缩打包,也可以把内容清除。

2,Linux操作系统近几年有了蓬勃的发展,在整个世界范围内得到了越来越多公司和团体的支持,尤其是最近IBM公司的鼎力支持,更是使Linux服务器如虎添翼,更上一层楼

Linux操作系统近几年有了蓬勃的发展,在整个世界范围内得到了越来越多公司和团体的支持,尤其是最近IBM公司的鼎力支持,更是使Linux服务器如虎添翼,更上一层楼。而在国内,Linux的应用也是方兴未艾,众多公司已经投入到Linux系统的研发和推广工作中。一些优秀的Linux操作系统相继出现,比如红旗Linux等。但是我国的Linux应用水平还很低,熟悉Linux的人员严重缺乏,Linux专业人才的缺乏已成为Linux在国内应用和普及的瓶颈问题。据《开放系统世界》2003年第八期介绍,中国五年内Linux人才需求量将会超过120万。而“1+1+1”工程的实施,也是间接地告诉我们这个问题的严重性。如此大好时机,我们干吗还愣着不动呢!如果你是一位Linux爱好者,你可能已经掌握了基本的Linux的知识与操作,毫无疑问,你并不会去满足这样小小的成就。Linux为何如此的流行?其最大的特点莫过于功能强大,性能稳定的服务器应用了。像WWW,MAIL,FTP,DNS和SMB等。在这篇文章中,我将以Redhat Linux 9为蓝本,从Web服务器的一些最基本的操作入手,从初学者使用的态度,让读者正确充分的认识Apache。好,现在就让我们一起踏上征服Apache的自由之路吧。

Apache的主要特征是:

可以运行上所有计算机平台;

支持最新的HTTP 11协议;

简单而强有力的基于文件的配置;

支持通用网关接口CGI;

支持虚拟主机;

支持HTTP认证;

集成Perl脚本编程语言;

集成的代理服务器;

具有可定制的服务器日志;

支持服务器端包含命令(SSI)

支持安全Socket层(SSL)

用户会话过程的跟踪能力;

支持FastCGI;

支持Java Servlets。

安装Apache

下面我们就开始漫漫征服Apache之旅,通过循序渐进的需求实例,一步步地学习使用Apache,从入门到精通。

系统需求

运行Apache不需要太多的计算资源。它在有6-10MB硬盘空间和8MB RAM的Linux系统上运行得很好。然而,只运行Apache可能不是你想做的事情。更可能的是,你想运行Apache来提供WWW服务、启动CGI进程以及充分利用所有WWW能够提供的令人惊奇的功能。在这种情况下,你需要提供反映负载要求的额外的磁盘空间和内存空间。也就是说,如果仅仅是启动WWW服务并不需要太多的系统资源,但是想要能为大量的客户提供服务就需要更多的系统资源。

获取软件

你可以在http://wwwapacheorg中获得Apache的最新版。而几乎所有的Linux发行版中均包含有Apache软件包,你也可以直接使用它。

需要注意的是,Apache软件包有两种:一种是源代码,下载后需要自己重新编译;另一种是可执行文件,下载后只需解压就可以使用。

安装软件

你可以通过以下三种方法安装Apache服务器。

1.如果你安装的Linux版本中带用Apache的话,就在选择所要安装的服务器的时候,将httpd这个服务选上,Linux安装程序将自动完成Apache的安装工作,并做好基本的配置。

2.使用可执行文件软件包,这比较适合那些对编译工作不是太熟悉的初级用户,因为它相对比较简单。

下载软件包apache_124etargz

tar xvzf apache_124etargz

这就完成了安装工作,简单吧!

如果你使用的是RedHat Linux的话,你也可以下载apache_124rpm软件安装包,然后使用rpm -ivh apache_124rpm命令安装。

3.如果你想把Apache服务器充分利用起来的话,就一定要自己编译Apache定制其功能。

下载包含Apache源代码的软件包apache_124targz; 然后用tar命令将它解开; 将当前目录改变为Apache源代码发行版的src目录; 将配置样本文件(Configurationtmpl)复制为Configuration文件;

编辑Configuration文件中的配置选项:

Makefile配置选项:一些编译选项:

"CC="一行指定用什么编译软件编译,一般为"CC=gcc";

如果需要将额外的标志(参数)指定给C编译软件,可以使用:

EXTRA_CFLAGS=

EXTRA_LFLAGS=

如果系统需要特殊的库和包含文件,可以在这里指定它们:

EXTRA_LIBS=

EXTRA_INCLUDES=

如果你要改变代码优化设置的话,你须将下面一句去掉注释,然

后改成你所需要的值:

#OPTIM=-O2

Rule配置选项:用来决定需要什么功能,一般情况下无需改变。

模块配置:模块是Apache的组成部分,它为Apache内核增加新功能。通过使用模块配置,可以自定义在Apache服务器中需要什么功能,这个部分也是Apache灵活性的表现。模块配置行如下所示:

AddModule modules/standard/mod_envo

如果你需要Apache服务器具备什么功能,就将那个模块用AddModule语句加到配置文件Configuration中去。

3,一、 MYSQL的基本概念

1、MYSQL的定义

MYSQL一种多用户、多任务的数据库服务器软件

2、MYSQL的特点

支持多平台,没有内存漏洞,分布式处理

支持JAVA、PHP、PERL、支持数据类型

支持ODBC,支持SQL查询

二、 安装MYSQL的服务器

1、 RPM方式MYSQL

#RPM –ivh MYSQL-3。23-3i386rpm

#RPM –ivh MYSQL-client-323-33i386rpm

#RPM-ivh MYSQL-Shared323-33i386rpm

#Tpm -ivh MYSQL –server323-33i386rpm

2编译安装方式

#tar -xvzf mysql 323targz

# cd mysql-323

#/configure --prdfix=/usr/local

#make

#malke install

# cd/usr/local/bin/

#/mysql-install-db 初始数据库系统。

系统库作用:记录服务器的设置参数,存放用户库信息

安全选项

#safe-mysqld

首先需要将你的web服务器搭建好,然后需要做NAT,我这里有我的一个做NAT的笔记,分享给你

NAT

拓扑结构图:

要求:

1内网能够ping通外网地址,并且成功访问外网中的web服务;

2外网能够访问内网的ftp服务。

步骤:

一:内网服务器配置

1在内网中设置好ip地址,网关和DNS均为NAT服务器内网口地址,并搭建好ftp服务,此处略

二:NAT服务器配置

1在NAT只能中添加一块网卡作为 外网卡,并设置好ip地址

2开启NAT服务器的路由功能

[root@c2 ~]# vi /etc/sysctlconf

netipv4ip_forward = 1              //将0改为1

[root@c2 ~]# sysctl -p                //永久生效

3配置防火墙(必须按照以下循序配置,否则配置完成后不能拼通外网,需配置第二次)

#iptables-X

#iptables-t nat -X

#iptables --flush

#iptables -t nat --flush  

//以上为重置链表的命令

#iptables-t nat -A POSTROUTING -s 19216810/24 -o eth1 -j SNAT --to 202101012

//这条命令是将内网19216810/24的源地址映射为NAT服务器的外网口地址,eth1为外网卡

# iptables -t nat -A PREROUTING -p tcp--dport 21 -j DNAT --to 192168111

# iptables -t nat -A PREROUTING -p tcp--dport 20 -j DNAT --to 192168111

//这两条命令是发布内务的ftp服务

或者:                                                                                 

# iptables -t nat -A PREROUTING -p tcp -d 202101012--dport 21 -j DNAT --to 192168111

# iptables -t nat -A PREROUTING -p tcp -d 202101012--dport 20 -j DNAT --to 192168111 

#/etc/initd/iptablessave

#/etc/initd/iptablesrestart

验证:

内网访问外网的web服务:

[root@c1 ~]# curl 202101013

web

外网访问内网的ftp服务(外网的防火墙一定要关闭,否则ls查看目录时会出错,或者打开外网的20号端口新建链接的也可以)#

[root@c3 ~]# ftp 202101012

Connected to 202101012 (202101012)

220 (vsFTPd 222)

Name (202101012:root): ftp01

331 Please specify the password

Password:

230 Login successful

Remote system type is UNIX

Using binary mode to transfer files

ftp> ls

227 Entering Passive Mode(192,168,1,11,93,1)

ftp: connect: Network isunreachable     //列不出内容是因为进入了passive模式

ftp>passive                                                      //用passive命令切换passive模式和active模式

Passivemode off

ftp> ls

200 PORT command successful Consider usingPASV

150 Here comes the directory listing

226 Directory send OK

ftp>

补充:

删除防火墙中配置的记录

[root@c2 ~]# iptables -t nat  -L POSTROUTING -n --line-number   //列出记录和记录序号

[root@c2 ~]# iptables -t nat -D POSTROUTING1                 //根据序号删除记录

你将内网的ftp服务换成web服务就可以了,主要是弄懂NAT的原理,将内部服务通过DNAT发布到外网

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 常用的web服务器软件整理(win+linux)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情