Web网站服务(一)

具体步骤:

1.准备工作

为了避免发生端口冲突、程序冲突等现象,建议将使用rpm方式安装的httpd及相关依赖包(如果有的话)卸载。如图所示:

 Linux搭建web服务器_web服务器

2.源码编译及安装

插入安装光盘并挂载,进入到光盘目录中,将httpd源码包释放到/usr/src/目录下,并且切换到展开后的源码目录中。

Linux搭建web服务器_具体步骤_02Linux搭建web服务器_实际应用_03 

根据服务器的实际应用需要,可以灵活设置不同的定制选项。

Linux搭建web服务器_具体步骤_04 

上述配置命令中,各选项的含义如下:

 --prefix:指定将httpd服务程序安装到哪个目录。

 --enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力。

 --enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。

 --enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。

 --enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力。

完成配置以后,执行“make && make install”命令进行编译,将源代码装换为可执行的程序,然后完成最后的安装过程;将编译完的httpd程序及相关目录、文件复制到预设的安装目录(由配置时的“--prefix”选项指定)。

Linux搭建web服务器_实际应用_05 

3. 确认安装结果

由于指定了安装目录为/usr/local/httpd/,因此httpd服务的各种程序、模块、帮助文件等都将复制到此目录下。

Linux搭建web服务器_Linux_06 

在安装后的/usr/local/httpd/目录下,主要子目录的用途如下所述:

 /usr/local/httpd/bin/:存放httpd服务的各种执行程序文件,包括主程序httpd、服务控制工具apachectl等。

 /usr/local/httpd/conf/:存放httpd服务的各种配置文件,包括主配置文件httpd.conf、增强配置子目录extra/等。

 /usr/local/httpd/htdocs/:存放网页文档,包括默认首页文件index.html等。

 /usr/local/httpd/logs/:存放httpd服务的日志文件。

 /usr/local/httpd/modules/:存放httpd服务的各种模块文件。

 /usr/local/httpd/cgi-bin/:存放各种CGI程序文件。

4. 优化执行路径

通过源码编译安装的httpd服务,程序路径并不在默认的搜索路径中,为了使该服务在使用时更加方便,可以为相关程序添加符号链接。

Linux搭建web服务器_Linux_07 

这样再执行相关命令时就不用输入冗长的路径了。例如:当执行“httpd -v”(用于查看程序版本)时,即相当于执行“/usr/local/httpd/httpd -v”。

Linux搭建web服务器_Linux_08 

5. 添加httpd系统服务

若希望将httpd添加为系统服务,以便通过chkconfig进行管理,需要建立可控的服务脚本。

Linux搭建web服务器_如图所示_09Linux搭建web服务器_Linux_10Linux搭建web服务器_具体步骤_11 

成功执行上述操作以后,每次Linux系统进入运行级别3、5时,httpd服务将会自动运行。在日常维护过程中,可以直接使用apachectl工具来控制httpd服务,也可以使用/etc/init.d/httpd脚本。

Linux搭建web服务器_web服务器_12 

6. 确定网站名称、IP地址

7. 配置并启动httpd服务

1) 配置httpd服务

编辑httpd服务的主配置文件httpd.conf,查找配置项“ServerName”,在附近添加一行内容“ServerName www.benet.com”,用于设置网站名称。

Linux搭建web服务器_如图所示_13 

修改httpd.conf文件的配置内容以后,建议使用带“-t”选项的apachectl命令对配置内容进行语法检查(或使用“httpd -t”命令)。如果没有语法错误,将会显示“Syntax OK”的信息,否则需要根据错误提示来修正配置。如图所示:

 

2) 启动httpd服务

使用脚本文件/usr/local/httpd/bin/apachectl或者/etc/init.d/httpd,分别通过start、stop、restart选项进行控制,可用来启动、终止、重启httpd服务。正常启动httpd服务以后,默认将监听TCP协议的80端口。

Linux搭建web服务器_具体步骤_14 

8. 部署网页文档

对于新编译安装的httpd服务,网站根目录位于/usr/local/httpd/htdocs/中,需要将Web站点的网页文档复制或上传到此目录中。httpd服务器默认已提供一个名为index.html的测试网页(可显示字串“It works!”),作为访问网站时的默认首页。

Linux搭建web服务器_具体步骤_15 

9. 在客户机中访问Web站点

在客户机的网页浏览器中,通过域名或IP地址访问httpd服务器,将可以看到Web站点的页面内容。如图所示:

Linux搭建web服务器_Linux_16 

10. 查看Web站点的访问情况

http服务器使用了两种类型的日志:访问日志和错误日志。这两种日志和文件名分别为access_log和error_log,均位于/usr/local/httpd/logs/目录下。

通过查看访问日志文件access_log,可以及时了解Web站点的访问情况。访问日志中的每一行对应一条访问记录,记录了客户机的IP地址、访问服务器的日期和时间、请求的网页对象等信息。如图所示:

Linux搭建web服务器_具体步骤_17 

通过查看错误日志文件error_log,可以为排查服务器运行故障提供参考依据。错误日志文件中的每一行对应一条错误记录,记录额发生错误的日期和时间、错误事件类型、错误事件的内容描述等信息。如图所示:

Linux搭建web服务器_Linux_18 

Linux搭建web服务器_实际应用_19


httpd.conf配置文件

1. 全局配置项

 ServerRoot:设置httpd服务器的根目录,该目录中包括了运行Web站点必需的子目录和文件。默认的根目录为/usr/local/httpd/,与httpd的安装目录相同。

 Listen:设置httpd服务器监听的网站端口号,默认为80

 User:设置运行httpd进程时的用户身份,默认为daemon。

 Group:设置运行httpd进程时的组身份,默认为daemon。

 ServerAdmin:设置httpd服务器的管理员E-mail地址,可以通过此E-mail地址及时联系Web站点的管理员。

 ServerName:设置Web站点的完整主机名(即:主机名+域名)。

 DocumentRoot:设置网站根目录,即网页文档在系统中的实际存放路径。此配置项比较容易和ServerRoot混淆,需要格外注意。

 DirectoryIndex:设置网站的默认索引页(首页),可以设置多个首页文件,以空格分开,默认的首页文件为index.html。

 ErrorLog:设置错误日志文件的路径,默认路径为logs/error_log。

 LogLevel:设置记录日志的级别,默认级别为Warn(警告)。

 CustomLog:设置访问日志文件的路径、日志类型,默认路径为logs/access_log,使用的类型为common通用格式。

 PidFile:设置用于保存httpd进程号(PID)的文件,默认保存地址为logs/httpd.pid,“logs”目录位于Apache的服务器根目录中。

 CharsetDefault:设置站点中的网页默认使用的字符集编码,如UTF-8、gb2312等。

 Include:包含另一个配置文件的内容。可以将实现一些特殊功能的配置放到一个单独的文件里,再使用Include配置项将其包含到httpd.conf文件中,这样便于独立进行配置功能的维护而不影响主配置文件。

以上配置项是httpd.conf文件中最主要的全局配置项。

2. 区域配置项

除了全局配置项以外,httpd.conf文件中的大多数配置都是包括在区域中的。区域配置项使用一对组合标记,限定了配置项的作用范围。例如:最常见的目录区域配置的形式如下所示:

Linux搭建web服务器_如图所示_20


在以上区域定义中,设置了一个根目录的区域配置,其中添加的访问控制相关配置只对根目录有效,而不会作用于全局或其他目录区域。

部署AWStats分析系统

具体步骤:

1. 安装awstats软件包

插入安装光盘并挂载,进入到光盘目录中,然后将awstats软件包复制到一个目录下,由于是“.zip”格式的压缩包,应对其使用unzip命令进行解压缩。

Linux搭建web服务器_web服务器_21 

2. 为要统计的站点建立配置文件

使用AWStats系统时,该系统支持分别统计多个网站的日志文件,通常以网站名称来区分不同的站点。因此,在执行日志文件分析之前,需要为每个Web站点建立站点统计配置文件,借助于AWStats程序提供的awstats_configure.pl脚本可以简化创建过程。

将解压缩完的awstats软件包移动到/use/local/目录下,然后切换到awstats/tools目录下,并执行其中的awstats_configure.pl脚本。

Linux搭建web服务器_Linux_22 

之后将会进入一个交互式的配置过程,将会检查awstats的安装目录、httpd服务的配置文件路径、日志记录格式等系统环境,并提示用户指定站点名称、设置配置文件路径。

1) 指定httpd主配置文件的路径

配置脚本将查找并识别httpd服务的主配置文件,以便自动添加相关配置内容。如果未能在常见的安装路径中找到相关配置内容,则用户需要根据提示进行手工指定。

Linux搭建web服务器_具体步骤_23 

2) 设置日志类型

将httpd服务器的日志记录格式改为“conbined”,服务器可以在日志文件中记录更加详细的Web访问信息。因此,当提示是否修改日志类型时,建议选择“y”。然后配置脚本将会自动修改httpd.conf配置文件,以添加访问AWStats系统的相关配置内容。

Linux搭建web服务器_如图所示_24 

3) 为指定Web站点创建配置文件

根据提示继续选择“y”以创建站点配置文件,并指定要统计的目标网站名称、站点配置文件的存放位置(默认为/etc/awstats/

Linux搭建web服务器_实际应用_25Linux搭建web服务器_如图所示_26Linux搭建web服务器_具体步骤_27 

4) 后续配置工作

接下来将会自动重启httpd服务(需要有/etc/init.d/httpd脚本支持),然后设置cron计划任务(7.0版尚不支持),先后按两次Enter键退出配置工具。

根据上述设置过程,为网站www.benet.com新建立的站点统计配置文件将存放到etc/awstats目录下,文件名为awstats.www.benet.com.conf。若还需要统计其他Web站点的日志,可以执行awstats_configure.pl脚本再创建新的配置文件。

3. 修改站点统计配置文件

为站点www.benet.com建立好配置文件以后,还需要对其作进一步的修改。修改的内容主要包括指定要分析的Web日志文件和指定用来存放统计数据的目录。

Linux搭建web服务器_web服务器_28Linux搭建web服务器_实际应用_29Linux搭建web服务器_实际应用_30Linux搭建web服务器_实际应用_31 

其中LogFile用来指定日志路径,应设置Web日志文件的实际位置;DirData用来指定数据目录,可以采用默认值,但需要创建指定的目录(/var/lib/awstats)。

4. 执行日志分析,并设置cron计划任务

使用AWStats提供的awstats_updateall.pl脚本,可以更新所有站点(根据站点配置文件)的日志统计数据。执行该脚本时,将会自动分析新增的日志内容,并将分析结果更新到统计数据库中。

Linux搭建web服务器_具体步骤_32 

由于Web日志文件的内容是在不断更新的,为了及时反馈网站访问情况,日志分析工作也需要定期、自动地执行。通过crond服务可设置计划任务,一般建议每五分钟执行一次日志分析任务即可。

Linux搭建web服务器_Linux_33Linux搭建web服务器_Linux_34Linux搭建web服务器_Linux_35 

5. 访问AWStats分析系统

访问网址http://www.benet.com/awstats/awstats.pl?config=www.benet.com后,即可看到AWStats日志分析系统的统计页面,分别按访问时间、用户来源、所有浏览器等类别列出各种详细的网站访问情况。如图所示:

Linux搭建web服务器_具体步骤_36 

在访问AWStats系统时,需要指定awstats目录、脚本位置、统计目标等信息,这样一来既不方便记忆,输入时也比较麻烦。为了简化操作,可以在Web根目录下建立一个自动跳转的HTML网页。例如,执行以下操作后,用户只要访问http://www.benet.com/awb.html即可自动跳转到www.benet.com站点的AWStats日志分析页面。

Linux搭建web服务器_web服务器_37Linux搭建web服务器_web服务器_38