2024年5月30日发(作者:)
Linux实践及应用(论文)
摘 要:
本文详细的讲解了在Linux 环境下安装Web 服务器的方法,包括Apache 服务器软件
的安装和配置,以及实现虚拟主机服务的配置,权限的设置方法等内容
。
关键词:
Linux;Web 服务器;Apache;虚拟主机
前言:
W W W(W o r l d W i d e W e b )服务是Internet上最热门的服务之一,通过它用
户可以获得没有时间、地域的限制的各种信息服务,如浏览、搜索和共享信息,商业应用和
服务宣传等。现在,每天都有数以百万计的人访问Internet上的信息页,每天又有数以千计
的Web服务器被建立起来。个人或公司企业等如果想通过主页向世界介绍自己,就必须将主页
放在一个WEB 服务器上,个人用户完全可以使用一些免费的主页空间来发布,但对于多数公
司和企业用户来说,都想得到高速而安全的服务,那么就要将主页存放在自己的WEB 服务器
上,通过它把主页向外发布。当然,在这之前,要先注册一个域名,申请一个IP 地址,然后
让ISP 将这个IP 地址解析到自己的主机上,最后要在主机上架设W E B 服务器。
1、Apache服务器简介
首先是服务器的操作系统的选择,目前主要有Windows 和Unix/Linux 两大阵营,当然二
者都有各自的优点和特点,本文选择的是Fedora Linux 平台。在Linux 系统中,我们常用的
单独的Web 服务器主要有三种:
(一)CERN httpd:这是最早期的Web 服务器软件。
(二)NCSA httpd:这是美国国家超级计算机应用中心(NCSA)在1995 年创建的WWW服务器。
C 语言开发,程序小、速度快,但已经不再升级了。
(三)Apache:据说全世界50% 以上的Web服务器都是用Apache。它是在NCSA 的基础上开发
出来的,并一直高速发展着。Apache 的主要特征是:
·可以在任何计算机平台上运行。
·简单而强有力的基于文件的配置。
·支持虚拟主机。
·支持H T T P 认证。
·集成的代理服务器。
·支持安全Socket 层(SSL)。
·支持Java Servlets 和JSP。
目前在Fedora Linux 中已经集成了Apache,它们二者配合使用不仅效果非常好,而且最大的
优点是免费,下面介绍的是Fedora Linux + Apache 的组合。
1、 Apache服务器的安装
在初始化Linux安装的时候,Linux发布通常会允许用户选择是否安装Apache Web服务器
这样,所有必须的目录和配置文件都会自动生成。在配置Apache之前,使用命令 rpm –qa | grep
httpd 检查系统是否安装了Apache。如果没有安装则通过以下两种方式安装。
(一)通过R P M 包来安装首先要在或其它网站下载apache_
(也许这不是目前的最新版本),然后使用命令安装:rpm –ivh apache_。
(二)用源代码编译安装首先下载apache_文件,先解压缩然后编译安装,
tar –zxvf apache_
cd apache_2.2.14
make
make install
安装完成了之后,在浏览器中输入本机的ip地址,若看到了测试页面,则安装成功。
3、Apache服务器的配置
第1页 共5页
Linux实践及应用(论文)
在Fedora Linux 中,Apache 将自己的所有配置文件和日志文件放在了“/etc/httpd”
目录下,其中“/etc/httpd/conf”下为配置文件,“/etc/httpd/log”下为日志文件。Apache
的配置文件主要有:“”:用于设置系统中的存取方式和环境;“”
用于设置服务器启动的基本环境;“”:主要用于做文件资源上的设定;“”:
记录Apache 服务器所能识别的MIME格式。其实,LINUX 系统已经在安装时就采用了一系列的
缺省值,我们可以根据自己的实际情况做一些细微的调整,以更加适合于具体应用。
(一)的配置
当我们使用“vi”来打开它的时候,我们会发现内容十分繁多,看得人头晕眼花的。请
大家一定要明确,凡是最前面是以“# ”号开头的,表示这一行是注释语句,而不是配置文
件本身。所以我们把这些注释语句略去不说。
1.该文件的第一段非注释部分如下:
Option Indexes Includes ExecCGI
FollowSymLink
AllowOverride None
Order allow , deny
allow from all
这个部分是以
中间的部分都是针对指定目录——“/home/ttpd/html”而言的。Option 命令有很多的参数,
各个参数的意义如下所示:
All:准许以下所有功能(MultiViews除外);
Indexes:若该目录下无index文件,则准许显示该目录下的文件以供选择;
Includes:准许SSI;
FollowSymLinks:准许符号链接到其他目录;
ExecCGI:准许该目录下可以使用CGI,而AllowOverride命令则是用来决定是否准许在
“”文件中设定的权限是否可以被在文件“.htaccess”中设定的权限覆盖。它
有两个参数:All 准许覆盖;None 不准许覆盖。
Order 命令:用来设定谁能从这个服务器取得控制。它也有两个参数:allow 可以取得控
制;deny 禁止取得控制。这段配置的含义是:对于目录“/ h o m e /httpd/html”来说,
当不存在 文件时,列出目录信息以供选择,准许SSI,允许执行CGI 程序,开启了
动态连接。它不允许再使用在文件“.htaccess”中设定来覆盖这里所设置的权限。使所有的
人都可以取得控制。
2.该文件的第二段非注释部分如下:
Option ExecCGI
AllowOverride None
这个内容表示:在目录“/var/www/cgi”下可以执行CGI 程序。不允许再使用在文
件“.htaccess”中设定来覆盖这里所设置的权限。
(二) 的配置
这个文件中有许多设定命令,用来设置服务器的运行环境。以下是一些常用的部分:
1. ServerType命令,用来设定服务器的启动方式。它的命令格式如下:命令格式: ServerType
[standalone/inted]standalone 参数表示WEB 服务进程以一个单独的守候进程的方式在后
台侦听是否有客户端的请求,如果有就生成一个子进程来为其服务。inetd 参数表示Web服务
第2页 共5页
Linux实践及应用(论文)
不是以一个单独的守候进程的形式支持。而是由inetd这个超级服务器守候进程进行代劳,当
它收到一个客户端的W E B 服务请求的时候,再启动一个W E B 服务进程为其服务。在此建
议使用standalone 参数
2. Port 命令,为服务器的服务指定端口号。一般来说,Web 服务使用端口号是80。命
令格式: Port 端口号
Admin 命令,用来设置管理员的E-Mail 地址。
命令格式: Server Admin [you E-Mailaddress]
t命令,只要客户端超过这里设定的秒数还没有完成一个请求的话,服务端将终
止这次请求服务。如果网络速度较慢的话,建议在此设置较大的数值。以给客户端更多机会。
命令格式: Timeout [second]
ents 命令,用来设置接受客户端请求的最大数目,以使得维护系统稳定性,避免
系统负载过大。命令格式: MaxClients [number]
6.设置主服务器的名称,默认是 # ,此处我们可以输入一个合法的名字
即域名即可,也可以输入主机的ip地址,然后去掉前面的#号即可。
(三) 的配置
这个文件主要用来指定主页文档的位置。下面介绍三个最常用的命令。
1. DocumentRoot 命令,用来指定主文档的地址。
例:DocumentRoot /var/httpd/html
2. UserDir 命令,用来指定个人主页的位置。如果有一个用户test,那么它的主目录是
“/h o m e / t e s t ”,当客户端输入 h t t p : / /yourdomain/~test”,系统就会到
对应的目录“/h o m e / t e s t / U s e r D i r /”中去寻找。其中“UserDir”就是在
UserDir命令中设置的指定目录。例: UserDir Public_html
3. DirectoryIndex命令,用来设置首页文件名称。一般地,我们使用“”或
“”作为首页的文件名。例:DirecotryIndex 通过上面的介绍,我们可
以根据自己的实际情况来更改配置文件,使Apache 按照自己的要求正常工作,需要说明一下
的是,在更改配置之后需要重新启动Apache 来使新的配置生效,输入以下命令来实现:
/etc/rc.d/init.d/httpd restart最后,我们就可以把主页复制到配置文件中指定的目录中,
然后在工作站上打开浏览器,输入服务器IP地址/,看看是不是可以正常浏览了,
如果可以,说明一个基本的Web服务器已经建立起来了
。
(四)测试服务器是否正常运行
在命令行下输入 # service httpd tart
# service httpd stop
# service httpd start
在目录 var/www/html/下新建一个 文件,在浏览器中输入本机ip/。
如果能看到自己的网页,则表示服务器配置成功。
4、基于域名的虚拟主机配置
Apache 实现基于主机名的虚拟主机服务(一个IP 地址实现多个网站)例:如果服务器只有
一个IP 地址,而在DNS中有很多映射到这个机器,我们想要在这个机器上运行
和 两个站点。在Apache 服务器的配置中创建一个虚拟主机并不会自动在DNS中
对主机名做相应更新,我们必须自己在DNS 中添加域名来指向我们的IP地址,否则别人是无
法看到我们的Web 站点的。
NameVirtualHost 172.16.37.177
第3页 共5页
Linux实践及应用(论文)
ServerName :80
DocumentRoot /var/www/gy1
DirectoryIndex
ServerName :80
DocumentRoot /var/www/gy2
DirectoryIndex
NameVirtualHost IP指明该虚拟主机对应的IP 地址,
构成该虚拟主机的语法结构,其中的域名就是我们在服务器上上传的网页要解析的域名。配
置完成后需要配置DNS服务器进行域名解析,最后用户可以通过和
来访问上传到Apache服务器两个网站。
5、实验中遇到的问题和心得体会
在配置文件时,不知道ServiceName处填写什么名字,因为要求格式为类似网址
形式的域名,所有我在其中输入了 ServiceName :80,在测试时,浏览器却给
我连接到了国外一个域名购买商店。后来,我就在命令下输入 ifconfig 结果显示了两个 innet
ip ,我就见上述域名改成了 ServiceName 我的主机ip:80,结果测试时,都能显示我在
/var/www/html 目录下的主页。我不明白这两个ip和我的Apache服务器有什么关系。通过写论
文,使我更加了解了Linux和Apache的相关知识,也提高了我操作Linux系统的能力。
参考文献:
[1] 钟小平,张金石. 网络服务配置与应用[M] . 北京:人民邮电出版社,2002
[2] Michael Jang 《红帽Linux 9 从入门到精通》 电子工业出版社2003 年10 月 第659 至
695 页
[3] 罗文村,汤庸. Linux时间与应用. 北京:清华大学出版社,2006
第4页 共5页
第9页 共5页


发布评论