Linux下WWW服务器配置全攻略
核心提示:Linux操纵系统近几年有了蓬勃的发展,在全部世界范围内得到了越来越多公司和团体的支持,特别是最近IBM公司的大力支持,更是使Linux服务器如虎添翼,更上1层楼。而在国内,Linux的利用也是方兴未艾,众多公司已投进到Linux系统的研发和推行工作中。1些优秀的Linux操
Linux操纵系统近几年有了蓬勃的发展,在全部世界范围内得到了越来越多公司和团体的支持,特别是最近IBM公司的大力支持,更是使Linux服务器如虎添翼,更上1层楼。而在国内,Linux的利用也是方兴未艾,众多公司已投进到Linux系统的研发和推行工作中。1些优秀的Linux操纵系统相继出现,比如红旗Linux等。但是我国的Linux利用水平还很低,熟习Linux的职员严重缺少,Linux专业人材的缺少已成为Linux在国内利用和普及的瓶颈题目。据《开放系统世界》2003年第8期先容,中国5年内Linux人材需求量将会超过120万。而“1+1+1”工程的实行,也是间接地告知我们这个题目的严重性。如此大好时机,我们干嘛还愣着不动呢!假设你是1位Linux爱好者,你可能已掌控了基本的Linux的知识与操纵,毫无疑问,你其实不会往满足这样小小的成绩。Linux为甚么如此的流行?其最大的特点莫过于功能强大,性能稳定的服务器利用了。像WWW,MAIL,FTP,DNS和SMB等。在这篇文章中,我将以Redhat Linux 9为蓝本,从Web服务器的1些最基本的操纵进手,从初学者使用的态度,让读者正确充分的熟习Apache。好,现在就让我们1起踏上征服Apache的自由之路吧。
第1站 Apache的历史与远景
1995年,美国国家计算机安全协会(NCSA)的开发者创建了NCSZ全球网络服务软件,其最大的特点是HTTP精灵程序,它比当时的CERN服务器更轻易由源码来配置和创建,又由于当时其他服务器软件的缺少,他很快流行起来。但是后来,该服务器的核心开发职员几近都离开了NCSA,1些使用者们自己成立了1个组织来治理他们编写的补钉,因而Apache Group应运而生。他们把该服务器软件称为Apache。Apache源于A patchy server的读音,意思是布满补钉的服务器。如今Apache渐渐地已成为Internet上最流行的Web服务器软件了。在所有的Web服务器软件中,Apache占据尽对上风,远远领先排名第2的Microsoft IIS。假设你对它感爱好,你可以访问Apache的官方网站:http://www.apache.org。Apache作为自由软件之1,像其他自由软件1样,他们都是由许很多多的自由开发职员投进了大量的时间和精力来实现并逐渐完善的,所以我们有理由相信Apache的发展远景会更好。
第2站 Apache 2.0的安装
Apache 2.0的配置与安装和Apache 1.3的有很大的不同,他像其它的开源软件1样,使用libtool和autoconf来配置环境。但不论是Apache几通常都有两种安装方式:源代码安装和RPM包安装。这两种安装类型各有特点,RPM包安装不需要编译,而源代码安装则需要先配置编译再安装,RPM包安装在1个固定的位置下,选择固定的模块,而源代码安装则可让你选择安装路径,选择你想要的模块。下面分别以实例的情势来先容两种类型的安装方法。
1,使用源代码安装
(1) 取得源代码
# lynx http://www.apache.org/dist/httpd/httpd⑵_0_NN.tar.gz
NN表示当前所用的版本号。
(2) 解紧缩
# gzip -d httpd⑵_0_NN.tar.gz
# tar xvf httpd⑵_0_NN.tar
(3) 配置.
# ./configure --prefix= /usr/local/apache
表示Apache将安装在/usr/local/apache目录下
(4) 编译与安装
# make
# make install
(5) 测试
# /usr/local/apache/bin/apachectl start
2,使用RPM包安装
# rpm —ivh apache-*.rpm
完成安装后,配置文件在/etc/httpd/conf/目录下,文件根目录为/var/www/html,工具文件在/etc/rc.d/init.d/目录下,日志文件在/var/log/httpd/目录下。
第3站 Apache 2.0的配置
Apache 2.0的主配置文件为httpd.conf。假设以上述源代码安装则配置文件保存在/usr/local/apache/conf/目录下,若以RPM包方式安装则配置文件保存在/etc/httpd/conf/目录下。我们可以直接修改httpd.conf文件也能够用redhat linux 9自带的图形化工具来配置。打开启动程序->系统设置->服务器设置->HTTP服务器,可以进行相干。主界面如图:
下面我们来看1下httpd.conf中的几条指令,“#”后加进了注释说明。
Port 80 #定义了web服务器的侦听端口,默许值为80,它是TCP网络端口之1。若写进多个端口,以最后1个为准。
User apache #1般情况下,以nobody用户和nobody组来运行web服务器,由于web
Group apache # 服务器发出的所有的进程都是以root用户身份运行的,存在安全风险。
ServerAdmin root@localhost #指定服务器治理员的E-mail地址。服务器自动将毛病报告到该地址。
ServerRoot /etc/httpd #服务器的根目录,1般情况下,所有的配置文件在该目录下
ServerName new.host.name:80 #web客户搜索的主机名称
KeepAliveTimeout 15 #规定了连续要求之间等待15秒,若超过,则重新建立1条新的TCP连接
MaxKeepAliveRequests 100 #永久连接的HTTP要求数
MaxClients 150 #同1时间连接到服务器上的客户机总数
ErrorLog logs/error_log #用来指定毛病日志文件的名称和路径
PidFile run/httpd.pid #用来寄存httpd进程号,以方便停止服务器。
Timeout 300 #设置要求超时时间,若网速较慢则应把值设大。
DocumentRoot /var/www/html #用来寄存网页文件
1 2 下1页
核心提示:Linux操纵系统近几年有了蓬勃的发展,在全部世界范围内得到了越来越多公司和团体的支持,特别是最近IBM公司的大力支持,更是使Linux服务器如虎添翼,更上1层楼。而在国内,Linux的利用也是方兴未艾,众多公司已投进到Linux系统的研发和推行工作中。1些优秀的Linux操
第4站 Apache的治理
(1) 启动和停止Apache
/etc/rc.d/init.d/httpd start
/etc/rc.d/init.d/httpd stop
(2) Apache的日志文件
有人说判定1个治理员是否是优秀之1就是看他是否是是1个分析日志的能手,由于从日志文件中获得的反馈信息对治理员来讲是相当重要的。Apache的日至文件主要包括访问日志和毛病日志。访问日志记录了该服务器所有的要求的进程,主要记录的是客户的信息,通过它我们可以知道甚么人访问了该网站,甚么时候访问的,访问的内容是甚么等等。毛病日志则是记录了服务器出错的细节和如何处理等。日志文件的位置是由上述主配置文件httpd.conf来规定的。Redhat中有1个查看日志的工具——系统日志。其主界面以下
下面各举1个例子来讲明他的格式:
毛病日志的写法:
[Mon sep 22 14:32:52 2003] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test
[Mon sep 22 14:32:52 2003] 毛病产生的时间。
[error] 表示毛病的级别。有debug,info,notice,warn,error,crit,alert,emerg,这些级别由低到高表示了毛病的严重性。
[client 127.0.0.1] 表示客户端IP地址。
client denied by server configuration: /export/home/live/ap/htdocs/test 标是毛病的具体信息。
访问日志的写法:
127.0.0.1 - wangdong [22/sep/2003:13:55:36 -0800] "GET /apache_pb.gif HTTP/1.0" 200 2326
127.0.0.1 表示访问这台服务器的客户端IP地址。
Wangdong 表示用户的登录名。
[22/sep/2003:13:55:36 -0800] 服务器完成客户端要求的时间,格式为[日/月/年:小时:分钟:秒 时区]
"GET /apache_pb.gif HTTP/1.0" 表示客户端访问该资源所使用的方法。
200 记录的是服务器返回给客户的状态码。200表示成功,以4打头的表示访问出错。
2326 表示发给客户真个总字节数。若是“—”表示没有找到访问资源。
但在实际利用中,对大型网站,日志文件常常增长的很快,不利于我们查询,下降服务器的效率,而且占用大量的磁盘空间,所以我们必须对日志进行定期的保护。
既然日志文件很大,那末我们如何把1大堆枯燥的数据整理成轻易让我们看懂的情势呢?有无这样的工具呢?非常荣幸,在redhat linux 9中自带了1个分析日志的工具——webalizer,如图:
我们也能够在网上找到大量这样优秀的免费的工具,例如:WebTrends Analysis Series。
第5站 配置虚拟主机
虚拟主机是在1台www服务器上为多个单独的域名提供www服务,每个域名具有自己的目录和配置,相当于将1台主机分为多台主机,虚拟主机技术对主机数目不足,但又想为不同的用户提供独立的Web服务的需求非常有效。而对1个公司,利用价格昂贵的服务器只提供1种域名服务,仿佛是不明智的,而现在越来越多的公司喜欢在1台服务器上使用多个域名服务,架设不同的网站,这样做的好处是不言而喻。
Apache有两种方式支持虚拟主机,1种是基于IP的虚拟主机,另1种是基于名字的虚拟主机。基于名字的虚拟主机使用相同的IP地址来配置不同的虚拟主机,这就弥补了因IP地址不足而带来的题目。基于名字的虚拟主机的配置相当简单,你只需配置你得DNS服务器使每个主机名对应正确的IP地址,然后再配置Apache HTTP Server使它能熟习不同的主机名便可以够了。
假定我们组建了1家多媒体制作公司,有1台Apache服务器和1个IP地址:192.168.0.1 要运行两种业务,1种为电子商务网站,域名为www.business.media.com ,另1种为教学网站,域名为www.teaching.media.com 。先在DNS服务器中把域名www.business.media.com和www.teachin....conf便可以够了。
NameVirtualHost 192.168.0.1
ServerName www.business.media.com
DocumentRoot /var/www/html/business
ServerName www.teaching.media.com
DocumentRoot /var/www/html/teaching
而基于IP的虚拟主机则要求使用不同的IP地址来辨别不同的虚拟主机,这就要求使用多块网卡,把不同的IP地址***到不同的网卡上,或在1块网卡上***多个IP地址。假定我们主机的IP地址为192.168.0.1(www.media.com),另外有两个IP地址别?..nf/httpd.conf。[/url]
ServerAdmin webmaster@ business.media.com
DocumentRoot /var/www/html/business
ServerName www.business.media.com
ErrorLog /var/www/html/business/logs/error_log
TransferLog /var/www/html/business/logs/access_log
ServerAdmin webmaster@teaching.media.com
DocumentRoot /var/www/html/teaching
ServerName www.teaching.media.com
ErrorLog /var/www/html/teaching/logs/error_log
TransferLog /var/www/html/teaching/logs/access_log
第6站 配置Apache代理
代理服务器是网络信息服务的中转站。假设我们把Apache代理服务器形象地比喻成代理商的话,消费者向代理商购买东西时,假设代理商有的话,可直接卖给消费者,若没有,则代理商向厂家进货,再卖给消费者。这样做有以下几点好处:(1)进步了访问速度。(2)充当防火墙,增加了安全性。(3)可以过滤1些不良网站。(4)具有缓存功能。(5)节省IP开消。代理服务器可分为两种类型:客户端代理和服务器端代理。下面我们在讲授几个指令后举例说明各自的配置方法。
ProxyRequest On/Off #启用或禁用Apache代理服务。
CacheRoot "/etc/httpd/proxy" #代理缓存的根目录。
CacheSize 5 #代理缓存的大小。
CacheGcInterval 4 #设定运行治理缓存的无用数据搜集程序的时间间隔
CacheMaxExpire 24 #文件过期时间。
CacheDefaultExpire 1 #指定未包括过期信息文件的有效期。
NoCache a-domain.com another-domain.edu #该网站的文件将不被缓存。
l 客户端代理的配置
(1) 修改/etc/httpd/conf/httpd.conf中的相干指令
(2) 修改/etc/httpd/conf/httpd.conf,添加对代理目录的访问控制。
Order deny,allow
Deny from all
Allow from .your-domain.com
(3) 重启httpd。
l 服务器端代理的配置
服务器端代理与客户端代理不同,它是在防火墙上安装Apache服务器,使用它提供对WWW服务器的代理访问。这类方法把WWW服务器与外部隔开,进步了安全性,而对用户来讲,仿佛没有变化1样。假定在内部局域网中WWW服务器的IP地址为192.168.0.2,防火墙主机内部IP地址为192.168.0.5,外部IP地址为192.9.202.1。
(1) 配置防火墙上的Apache
(1) 在/etc/httpd/conf/httpd.conf中添加虚拟主机。
ServerAdmin webmaster@business.media.com
DocumentRoot /www/docs/business.media.com
ServerName www.business.media.com
ErrorLog logs/business.media.com-error_log
CustomLog logs/business.media.com-log_common
(2) 配置局域网中的DNS服务器,把www.business.media.com指向192.9.201.1。
(2) 配置局域网内部WWW服务器
在Linux环境下,有1个非常流行的代理服务器软件——Squid。他的功能非常的强大,支持HTTP,FTP,Gopher,SSL,和WAIS等协议的代理,而且设置简单,只需再配置文件中稍稍改动便可以够了。
好了,WWW服务器配置这条路总算走完了,笔者希看读过此文章的人能够有所收获,最后,希看在学习Linux这条布满乐趣而又布满荆棘的路上的爱好者们,永不言败,成为真实的高手。
TAG:服务器,地址,日志,文件,虚拟主机
评论加载中...
|