Linux搭建web服务器

Web网站服务(一)

具体步骤:

1.准备工作

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

spacer.gif wKioL1XIfhqgM133AABqD26niik326.jpg

2.源码编译及安装

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

wKiom1XIfCXjuHncAADDjBG9Nec963.jpgwKiom1XIfDPAkvzEAABDXzETHqY974.jpg 

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

wKiom1XIfD-ieZkvAABStfgiQns357.jpg 

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

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

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

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

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

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

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

wKioL1XIfk7R1CJtAAAjSlPgpC0035.jpg 

3. 确认安装结果

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

wKiom1XIfF_Aw4vHAABpwivb614987.jpg 

在安装后的/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服务,程序路径并不在默认的搜索路径中,为了使该服务在使用时更加方便,可以为相关程序添加符号链接。

wKioL1XIfmqSkg2CAAD2QImmQyw825.jpg 

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

wKiom1XIfHKBrTbVAABnOWgcsaY907.jpg 

5. 添加httpd系统服务

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

wKioL1XIfnyjXHidAACCvZTQf_4831.jpgwKiom1XIfITA6Hm_AARNOfZNGNI527.jpgwKioL1XIfo3AU5G2AACf_8ulmsw818.jpg 

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

wKiom1XIfJbCZAqQAAAmW19iAGk832.jpg 

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

7. 配置并启动httpd服务

1) 配置httpd服务

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

wKiom1XIfKHwF7IeAAIci_M9iGA870.jpg 

修改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端口。

wKioL1XIfsODhiw1AABKt2OcF8s011.jpg 

8. 部署网页文档

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

wKiom1XIfM-xo0ACAAB3uX-LP3U897.jpg 

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

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

wKioL1XIftvSDUatAABd6waIhK0293.jpg 

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

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

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

wKiom1XIfOfymqd7AAFdqJ8OXq8949.jpg 

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

wKioL1XIfvGgCFW0AACzMtwkw0E080.jpg 

wKioL1XIf1ri-iOxAACZnLDEHO8096.jpg


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文件中的大多数配置都是包括在区域中的。区域配置项使用一对组合标记,限定了配置项的作用范围。例如:最常见的目录区域配置的形式如下所示:

wKiom1XIfXyDSzswAAHj9dcfqK8013.jpg


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

部署AWStats分析系统

具体步骤:

1. 安装awstats软件包

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

wKiom1XIfYzBgV4lAACS-GmNWBQ955.jpg 

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

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

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

wKioL1XIf5nS3Zh1AACCNWg5a9U760.jpg 

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

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

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

wKiom1XIfanjcCsWAAJ6LIIe8pg843.jpg 

2) 设置日志类型

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

wKioL1XIf7bTINbUAAC_mSjsarc040.jpg 

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

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

wKioL1XIf8KweTPOAAB9vqj49S8696.jpgwKiom1XIfcvioSJiAADGTPQn1QE723.jpgwKioL1XIf9nR9-hQAADGCvMwuHA101.jpg 

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日志文件和指定用来存放统计数据的目录。

wKiom1XIfeaD1FThAAAl95hx-uo650.jpgwKiom1XIffDh5p5lAAEcOT5_9Gk812.jpgwKioL1XIf_rwEgT8AAE5s_sVjCU433.jpgwKioL1XIgAWhg51cAAAxBVhLzO0815.jpg 

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

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

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

wKiom1XIfg7xZVuQAAGepVJlL-U193.jpg 

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

wKioL1XIgBnRjPfpAAAUukIeWAc697.jpgwKiom1XIfiLAoHh5AAAqi0SR8jM263.jpgwKioL1XIgDSRAKjCAABnCY7cOpQ305.jpg 

5. 访问AWStats分析系统

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

wKioL1XIgFLiPx7TAARCc-kubNs113.jpg 

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

wKiom1XIfl7BIUmsAAAzDAzb6DE655.jpgwKioL1XIgGbjkWiMAACXf4VvQuQ478.jpg 


你可能感兴趣的:(linux,web服务器,实际应用,具体步骤,如图所示)