第四章构建LAMP网站服务平台(一)
. LAMP平台概述
1.什么是LAMP
*       目前最为成熟的一种企业网站应用模式,可提供动态Web站点应用及开发环境
2.构成组件
*       LinuxApacheMySQLPHP/Perl/Python
3.LAMP的优势
*       成本低廉
*       可定制、易于开发
*       方便易用、安全和稳定
二.Apache简介
1.主要特点
*       开放源代码、跨平台应用
*       支持多种网页编程语言
*       模块化设计、运行稳定、良好的安全性
2.软件版本
*       1.X
 目前最高版本是1.3,运行稳定
 向下兼容性较好,但缺乏一些较新的功能
*       2.X
 目前主要包括2.0和2.2两个版本
 具有更多的功能特性
 与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:是否保持连接,可选OnOff
*       MaxKeepAliveRequests:每次连接最多请求文件数
*       KeepAliveTimeout:保持连接状态时的超时时间
*       Include:需要包含进来的其他配置文件
  . httpd服务的日志
两类日志文件
*       访问日志:/usr/local/apache2/logs/access_log
*       错误日志:/usr/local/apache2/logs/error_log
    注释:
访问日志文件:该文件用于记录客户端访问Web服务器的事件,包括客户机的IP地址、访问服务器的日期和时间、请求的网页对象等信息
错误日志文件:该文件用于记录httpd服务器启动或运行过程中出现错误时的事件,包括发生错误的日期和时间、错误事件类型、错误事件的内容描述等信息
除了Common Log Format(通用日志格式)以外,还可使用“combined”格式,即Combined Log Format(组合日志格式),这种格式可记录的信息比common更多一些
八. 测试httpd服务器的性能
 ab命令
*       Apache BenchmarkApache基准测试工具
*       格式: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>