第四章 构建 LAMP 网站服务平台(一)
. LAMP 平台概述
1. 什么是 LAMP
       目前最为成熟的一种企业网站应用模式,可提供动态 Web 站点应用及开发环境
2. 构成组件
       Linux Apache MySQL PHP/Perl/Python
3.LAMP 的优势
       成本低廉
       可定制、易于开发
       方便易用、安全和稳定
二. Apache 简介
1. 主要特点
       开放源代码、跨平台应用
       支持多种网页编程语言
       模块化设计 、运行稳定、良好的安全性
2. 软件版本
       1.X
p   目前最高版本是1.3,运行稳定
p   向下兼容性较好,但缺乏一些较新的功能
       2.X
p   目前主要包括2.0和2.2两个版本
p   具有更多的功能特性
p   与1.X相比,配置管理风格存在较大差异
  三. 安装 httpd 服务器 —— RPM 安装
RHEL5 系统光盘中获得软件包 , 名字以 httpd 开头的一个 rpm .
     安装完成后的主要目录
       服务目录: /etc/httpd/
       主配置文件: /etc/httpd/conf/httpd.conf
       网页目录: /var/www/html/
       服务脚本: /etc/init.d/httpd
       执行程序: /usr/sbin/httpd
       访问日志: /var/log/httpd/access_log
       错误日志: /var/log/httpd/error_log
四. 安装 httpd 服务器 —— 编译安装
1) 编译安装的优点
       具有较大的自由度,功能可定制
       可及时获得最新的软件版本
       普遍适用于大多数 Linux 版本,便于移植使用
       2) 编译安装软件的基本步骤 :
A.  解压:针对不同的的压缩方式,解压的参数也有所区别.
如 : tar xzvf abc.tar.gz
tar xjvf abc.gz.bz2
unzip      abc.zip
B.  编译前的配置
              cd  /usr/src/httpd-2.2.9
              ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite
C. 编译 ,命令是make(编译之前,先要进入解压后生成的目录)
D. 安装 ,命令是make install(作用:生成目录和文件)
3) 安装完成后 , 主要目录和文件:
a)         服务目录: /usr/local/apache2/
b)         主配置文件: /usr/local/apache2/conf/httpd.conf
c)         网页目录: /usr/local/apache2/htdocs/
d)         服务脚本: /usr/local/apache2/bin/apachectl
e)         执行程序: /usr/local/apache2/bin/httpd
f)          访问日志: /usr/local/apache2/log/access_log
g)         错误日志: /usr/local/apache2/log/error_log
 五. apache主配文件的格式
       [root@localhost ~]# vi /usr/local/apache2/conf/httpd.conf
# This is the main Apache server configuration file …… 注释
ServerRoot "/etc/httpd"
ServerName www.benet.com
…… 上面的是全局配置
<Directory /var>
     ……
</Directory> 该段是特定文件系统 ( 特定目录 /var 的权限配置 ) 的权限配置
     ……
<Location /private>
     ……
</Location> 该段是特定 URL( 特定 URL, http://www.private.com 开头 ) 的权限配置
六. apache 常用的全局配置参数
       ServerRoot :服务目录
       ServerAdmin :管理员邮箱
       User :运行服务的用户身份
       Group :运行服务的组身份
       ServerName :网站服务器的域名
       DocumentRoot :网页文档的根目录
       Listen :监听的 IP 地址、端口号
       PidFile :保存 httpd 进程 PID 号的文件
       DirectoryIndex :默认的索引页文件
       ErrorLog :错误日志文件的位置
       CustomLog :访问日志文件的位置
       LogLevel :记录日志的级别,默认为 warn
       Timeout :网络连接超时,默认为 300
       KeepAlive :是否保持连接,可选 On Off
       MaxKeepAliveRequests :每次连接最多请求文件数
       KeepAliveTimeout :保持连接状态时的超时时间
       Include :需要包含进来的其他配置文件
  七 . httpd 服务的日志
两类日志文件
       访问日志: /usr/local/apache2/logs/access_log
       错误日志: /usr/local/apache2/logs/error_log
    注释 :
访问日志文件:该文件用于记录客户端访问Web服务器的事件,包括客户机的IP地址、访问服务器的日期和时间、请求的网页对象等信息
错误日志文件:该文件用于记录httpd服务器启动或运行过程中出现错误时的事件,包括发生错误的日期和时间、错误事件类型、错误事件的内容描述等信息
l 除了Common Log Format(通用日志格式)以外,还可使用“combined”格式,即Combined Log Format(组合日志格式),这种格式可记录的信息比common更多一些
八. 测试 httpd 服务器的性能
 ab 命令
       Apache Benchmark Apache 基准测试工具
       格式: ab [-q] -c 并发请求数 -n 总的请求数 [http://] 域名 [: 端口 ]/ 路径
     如: /usr/local/apache2/bin/ab -q -c 2000 -n 4000 http://www.benet.com/
     注意:1. URL路径中的最后一个”/”不能少
                     2. ulimit  -n 3600   这条命令是用来突破 linux 系统同时打开的文件数量 ,rhel5
系统默认是 1024
九. 构建虚拟 Web 主机
   1) 构建虚拟 Web 主机 —— 基于域名
a. 修改 apache 主配文件,启用虚拟主机功能。
b. 修改 /usr/local/apache2/conf/extra/httpd-vhosts.conf
        NameVirtualHost 173.17.17.11
<VirtualHost 173.17.17.11>
         DocumentRoot /usr/local/apache2/htdocs/benetcom
         ServerName www.benet.com
</VirtualHost>
<VirtualHost 173.17.17.11>
          DocumentRoot /usr/local/apache2/htdocs/accpcom
          ServerName www.accp.com
</VirtualHost>
 2) 构建虚拟 Web 主机 —— 基于 IP 地址
       <VirtualHost 173.17.17.11>
        DocumentRoot /usr/local/apache2/htdocs/benetcom
       ServerName www.benet.com
</VirtualHost>
<VirtualHost 192.168.4.11>
         DocumentRoot /usr/local/apache2/htdocs/accpcom
    ServerName www.accp.com
</VirtualHost>
   3) 构建虚拟 Web 主机 —— 基于端口
      Listen 173.17.17.11:81
Listen 173.17.17.11:82
<VirtualHost 173.17.17.11:81>
        DocumentRoot /usr/local/apache2/htdocs/benetcom
       ServerName www.benet.com
</VirtualHost>
<VirtualHost 173.17.17.11:82>
        DocumentRoot /usr/local/apache2/htdocs/accpcom
        ServerName www.accp.com
</VirtualHost>
十. 建立系统用户的个人主页
    1. 修改 httpd.conf ,启用个人主页功能
[root@www ~]# vi /usr/local/apache2/conf/httpd.conf
382 # 去掉: #Include conf/extra/httpd-userdir.conf
温馨提示 : 其实所有的个人主页设置在 /usr/local/apache2/conf/extra/httpd-userdir.conf
十一. “awstat的安装配置”
1. 安装 awstats 。tar xzvf awstats…tar.gz -C /usr/local/;重命名为awstats
2. ./usr/local/awstats/tools/awstats_configure.pl 这是一个交互的过程,其中有一步输入网站的域名,其他输入 y就可以了(注:该步会在apache的主配文件的末尾添加一些内容)
3. cp awstats/wwwroot/ . -a
4. 修改 /etc/awstats/192.168.0.111(假如你的网站域名是该ip),找到LogFile行,改成你要分析的日志文件;如:/usr/local/apache/log/access_log (注意该日志文件一定是访问该网站的访问日志CustomLog "logs/192.168.0.111.log" combined)
5. mkdir /var/lib/awstats/
6. perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=192.168.0.111
7. 做一个 cron进程 * * * * *perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=192.168.0.111
9. 为了访问的方便,可以做一个自动跳转到日志记录的页面,如在 /usr/local/apache2/htdocs/aa/index.html;网页内容如下
<head>
<meta http-equiv=refresh content="0;url=http://192.168.0.111/awstats/awstats.pl">
</head>
<body></body>
</html>