第四章
构建
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
注释
:
l
访问日志文件:该文件用于记录客户端访问Web服务器的事件,包括客户机的IP地址、访问服务器的日期和时间、请求的网页对象等信息
l
错误日志文件:该文件用于记录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
8. 访问
http://192.168.0.111/awstats/awstats.pl
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>