Web服务器群集——编译安装Apache构建虚拟主机
Posted Pakho`
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web服务器群集——编译安装Apache构建虚拟主机相关的知识,希望对你有一定的参考价值。
编译安装Apache构建虚拟主机
一、编译安装Apache
1.1 准备Apache源码包
[root@pakho611 ~]# ls
httpd-2.4.38.tar.gz #这里使用的版本为2.4.38
1.2 解决Apache安装时的依赖关系
1.2.1 解决Apr依赖
[root@pakho611 ~]# wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz #下载Apr依赖包
[root@pakho611 ~]# tar -xvzf apr-1.4.5.tar.gz -C /usr/src/ #解压至/usr/src
[root@pakho611 ~]# cd /usr/src/apr-1.4.5/ #进入解压路径
[root@pakho611 apr-1.4.5]# ./configure --prefix=/usr/local/apr #进行编译并指明安装路径
[root@pakho611 apr-1.4.5]# make && make install #完成编译后执行安装
1.2.2 解决Apr-util依赖
[root@pakho611 ~]# wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz #下载Apr-util依赖包
[root@pakho611 ~]# tar -xvzf apr-util-1.3.12.tar.gz -C /usr/src/ #解压至/usr/src
[root@pakho611 ~]# cd /usr/src/apr-util-1.3.12/ #进入解压路径
[root@pakho611 apr-util-1.3.12]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
#指明安装路径并关联Apr
[root@pakho611 apr-util-1.3.12]# make && make install #完成编译后执行安装
1.2.3 解决Pcre依赖
[root@pakho611 ~]# wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip #下载pcre依赖包
[root@pakho611 ~]# unzip pcre-8.10.zip -d /usr/src/ #解压至/usr/src
[root@pakho611 ~]# cd /usr/src/pcre-8.10/ #进入解压路径
[root@pakho611 pcre-8.10]# ./configure --prefix=/usr/local/pcre #进行编译并指明安装路径
[root@pakho611 pcre-8.10]# make && make install #完成编译后执行安装
1.3 编译安装Apache并关联依赖
[root@pakho611 ~]# tar -xvzf httpd-2.4.38.tar.gz -C /usr/src/ #解压至/usr/src
[root@pakho611 ~]# cd /usr/src/httpd-2.4.38/ #进入解压路径
[root@pakho611 httpd-2.4.38]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-list --enable-cgi --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
[root@pakho611 httpd-2.4.38]# make && make install #完成编译后执行安装
- prefix:指定将httpd服务程序安装到哪个目录下
- enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力
- enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护
- enable-charset-list:启用字符集支持,以便支持使用各种字符集编码的网页
- enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力
1.4 为Apache修改域名
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::ec53:d68d:60ea:b5e0. Set the 'ServerName' directive globally to suppress this message
#不修改域名会发生如上报错
[root@pakho611 ~]# vim /usr/local/httpd/conf/httpd.conf #进入Apache主配置文件
...
#ServerName www.example.com:80 #找到网站域名配置示例
ServerName www.heyihao611.com:80 #改为自己购买的域名
...
[root@pakho611 ~]# cd /usr/local/httpd/bin/ #进入Apache命令文件
[root@pakho611 bin]# ./httpd -k restart #重启并查看端口
1.5 httpd服务目录结构
主要目录和文件:
服务目录:/usr/local/httpd/
主配置文件:/usr/local/httpd/conf/httpd.conf
网页目录:/usr/local/httpd/htdocs/
服务脚本:/usr/local/httpd/bin/apachectl
执行程序:/usr/local/httpd/bin/httpd
访问日志: /usr/local/httpd/log/access_log
错误日志: /usr/local/httpd/log/error_log
二、Apache服务器优化
2.1 检查子配置文件
[root@pakho611 ~]# /usr/local/httpd/conf/extra #extra为Apache服务器的子配置文件
[root@pakho611 extra]# vim httpd-default.conf #进入默认子配置文件
Timeout 60 #超时时间,默认60秒
KeepAlive On #保持连接开启,默认打开
MaxKeepAliveRequests 100 #最大保持请求,默认100
2.2 检查主配置文件是否收录子配置文件的优化部分
[root@pakho611 extra]# vim ../httpd.conf #进入主配置文件
...
#Include conf/extra/httpd-default.conf #找到被注释掉的以Include开头的默认子配置文件打开
...
Include conf/extra/httpd-default.conf #里面模块很多需要哪个就打开哪一个
[root@pakho611 ~]# cd /usr/local/httpd/bin/
[root@pakho611 bin]# ./httpd -k restart #修改完成后重启
此时依旧正常运行,但是会有子配置文件中的优化部分,如长连接等
三、构建基于域名的虚拟主机
3.1 进入虚拟主机配置文件
[root@pakho611 ~]# cd /usr/local/httpd/conf/extra/ #进入子配置文件
[root@pakho611 extra]# cp httpd-vhosts.conf httpd-vhosts.conf.backup #将原虚拟主机配置文件备份
[root@pakho611 extra]# vim httpd-vhosts.conf #修改虚拟主机配置文件
3.1.1 虚拟主机原配置文件详解
#默认虚拟主机配置文件详解
<VirtualHost *:80> #虚拟主机:监听所有主机的80端口
ServerAdmin webmaster@dummy-host.example.com #邮箱地址,一般不用可以删除
DocumentRoot "/usr/local/httpd/docs/dummy-host.example.com" #网站根目录
ServerName dummy-host.example.com #域名
ServerAlias www.dummy-host.example.com #别名
ErrorLog "logs/dummy-host.example.com-error_log" #错误日志
CustomLog "logs/dummy-host.example.com-access_log" common #访问日志
</VirtualHost>
3.2 虚拟主机配置文件修改
<VirtualHost *:80>
DocumentRoot "/ApacheVhost1"
ServerName www.heyihao611.com
ServerAlias heyihao611.com
ErrorLog "logs/ApacheVhost1-error_log"
CustomLog "logs/ApacheVhost1-access_log" common
<Directory "/ApacheVhost1">
Require all granted #设置网页文件允许所有主机访问
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/ApacheVhost2"
ServerName www.pakho.com
ErrorLog "logs/ApacheVhost2-error_log"
CustomLog "logs/ApacheVhost2-access_log" common
<Directory "/ApacheVhost2">
Require all granted #设置网页文件允许所有主机访问
</Directory>
</VirtualHost>
3.3 取消主配置文件的虚拟主机注释
[root@pakho611 extra]# vim ../httpd.conf
...
#Include conf/extra/httpd-vhosts.conf
...
Include conf/extra/httpd-vhosts.conf #取消注释
[root@pakho611 ~]# cd /usr/local/httpd/bin/ #修改完成后重启
[root@pakho611 bin]# ./httpd -k restart
3.4 添加本地域名解析
C:\\Windows\\System32\\drivers\\etc\\hosts
192.168.100.10 www.heyihao611.com
192.168.100.10 www.pakho.com
3.5 为虚拟主机添加html主页并测试
3.5.1 测试虚拟主机一
[root@pakho611 ~]# mkdir /ApacheVhost1
[root@pakho611 ~]# cd /ApacheVhost1
[root@pakho611 ApacheVhost1]# vim index.html #编译一个html测试网页
<!DOCTYPE html>
<html>
<h1>ApacheVhost1 TEST</h1>
<font color=red>TEST OK!</font>
</html>
http://www.heyihao611.com/ #浏览器输入虚拟主机网址一
3.5.2 测试虚拟主机二
[root@pakho611 ~]# mkdir /ApacheVhost2
[root@pakho611 ~]# cd /ApacheVhost2
[root@pakho611 ApacheVhost2]# vim index.html #编译一个html测试网页
<!DOCTYPE html>
<html>
<h1>ApacheVhost2 TEST</h1>
<font color=red>TEST OK!</font>
</html>
http://www.pakho.com/ #浏览器输入虚拟主机网址二
以上是关于Web服务器群集——编译安装Apache构建虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章
CentOS 7.3 部署LVS + Keepalived 高可用群集