特点:
配置简单,功能强大,速度快,应用广泛,性能稳定,并可做代理服务器或负载均衡来 使用。
应用场合:
1)运行静态html网页,图片
2)结合php引擎运行php,perl,python等程序
3)结合tomcat/resin运行tsp,java程序
4)使用apache做代理,敷在君很,rewrite规则过滤等
1)软件下载:
rpm -qa http 查看是否安装apache
rpm -e --nodeps http 卸载
cd /home/oldboy/tools
wget http://ftp.jaist.ac.jp/pub/apache/httpd/httpd-2.2.31.tar.gz (apache官网找)
tar xf httpd-2.2.31.tar.gz 解压
2)软件安装
根据 INSTALL 和 README 两个文件的说明安装
编译:
./configure \
--prefix=/appliaction/apache2.2.31—
--enable-deflate \
--enable-expires \
--enable-headers \
--enable-modules=most \
--enable-so \
--with-mpm=worker \
--enable—rewrite
提示安装 zlib
yum install zlib zlib-devel -y
make
make install
echo $? 查看是否有错误
创建软链接
ln -s /application/apache2.2.31/ /application/apache
3)启动服务
/application/apache/bin/apachectl start
lsof -i :80 查看端口 ,对应的服务
ps -ef|grep httpd 查看进程
ifconfig 查看ip
浏览器输入 ip,回车,it works。
strace 跟踪进程(需要yum install strace)
4)目录说明:
bin:
ab 服务器性能测试工具
apxs 是一个为Apache HTTP服务器编译和安装扩展模块的哦你工具
conf:
httpd.conf apache 的主配置文件
htdocs:
默认的站点目录
index.html 默认的首页文件
logs:
access_log 访问日志
error_log 错误日志
modules:
模块目录
5)主配置文件解析
去掉 注释
grep -Ev "#|^$" httpd.conf >httpd.conf.backup
虚拟主机:
部署多个站点,每个站点希望用不同的域名和站点目录,或者是不同的端口,不同的IP。
一个http服务要配置多个站点,就需要虚拟主机。
分类:
1)基于域名的虚拟主机 一个域名一个站点
2)基于端口 一个端口一个站点
3)基于ip 一个ip一个站点
实验:
域名 站点目录
www.etiantian.org /var/html/www
blog.etiantian.org /var/html/blog
bbs.etiantian.org /var/html/bbs
创建站点目录:
1)mkdir /var/html/{www, blog,bbs} -p
2)首页文件
mkdir /var/html/{www,blog,bbs} -p
for name in www blog bbs;do echo "http://$name.etiantian.org" >/var/html/$name/index.html;done
修改配置文件 /application/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin 1564894150@qq.com
DocumentRoot "/var/html/www"
ServerName www.etiantian.org
ServerAlias etiantian.org
ErrorLog "logs/www-error_log"
CustomLog "logs/www-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin 1564894150@qq.com
DocumentRoot "/var/html/blog"
ServerName blog.etiantian.org
ErrorLog "logs/blog-error_log"
CustomLog "logs/blog-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin 1564894150@qq.com
DocumentRoot "/var/html/bbs"
ServerName bbs.etiantian.org
ErrorLog "logs/bbs-error_log"
CustomLog "logs/bbs-access_log" common
</VirtualHost>
编辑主配置文件
vim httpd.conf
启用配置文件:extra/httpd-vhosts.conf
检查语法,并且平滑重启
/application/apache/bin/apachectl -t
/application/apache/bin/apachectl graceful
配置本地dns解析
172.16.11.12 www.etiantian.org blog.etiantian.org bbs.etiantian.org
浏览器访问 403 错误
vim httpd.conf
在尾部添加:
<Directory "/var/html">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
解决:
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
vim httpd.conf
apache 日志轮询:
cronolog
1)下载
2)安装
./configure
make
make install
重新配置 vhosts:
<VirtualHost *:80>
ServerAdmin 1564894150@qq.com
DocumentRoot "/var/html/bbs"
ServerName bbs.etiantian.org
ErrorLog "logs/bbs-error_log"
CustomLog “|/usr/local/sbin/cronolog /app/logs/access_bbs_%Y%m%d.log” combined
</VirtualHost>
数字 yy (光标所在位置多少行)赋值
shift + g 到文件末尾
‘ shift + a 光标移动到行尾
p 粘贴
x 回删
linux 的每个文件或者程序服务,都有对应的组和用户。
编译安装的软件默认的组和用户为daemon