系列文章目录
`
文章目录
- 系列文章目录
- 一、
- 1.构建虚拟web主机
- 2.一、基于域名的虚拟主机
- 二、Apache 日志分割
- 1.
- 三、Apache的网页优化
- 总结
一、
1.构建虚拟web主机
虚拟Web主机指的是在同一台服务器中运行多个Web站点,其中每一个站点实际上并不独立占用整个服务器,因此被称为“虚拟”Web 主机。通过虚拟 Web 主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本。
使用httpd服务可以非常方便地构建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑大量的Web站点。Apache虚拟主机相当于一个在同一台服务器中却相互独立的站点,从而实现一台主机对外提供多个 web 服务,每个虚拟主机之间是独立的,互不影响的。
httpd服务支持的虚拟主机类型包括以下三种:
1.基于域名:为每个虚拟主机使用不同的域名,但是其对应的 IP 地址是相同的。例如,www.benet.com 和 www.accp.com 站点的 IP 地址都是 192.168.169.10。这是使用最为普遍的虚拟 Web 主机类型。
2.基于IP地址:为每个虚拟主机使用不同的域名,且各自对应的IP地址也不相同。这种方式需要为服务器配备多个网络接口,因此应用并不是非常广泛。
**3.基于端口:**这种方式并不使用域名、IP地址来区分不同的站点内容,而是使用了不同的TCP端口号,因此用户在浏览不同的虚拟站点时需要同时指定端口号才能访问。
2.一、基于域名的虚拟主机
①为虚拟主机提供域名解析
写一个自动化的dns脚本
通过脚本dns解析
然后配置同样ip地址的第二个域名:
进入vim /etc/named.rfc1912.zones修改.
②为虚拟主机准备网页文档
mkdir -p /var/www/html/benet
mkdir -p /var/www/html/accp
echo "<h1>this is wj.com</h1>" >/var/www/html/benet/index.html
echo "<h1>this is wj.com</h1>" > /var/www/html/accp/index.html
③添加虚拟主机配置
④设置访问控制
⑤.加载独立的配置文件
vim /usr/local/httpd/conf/httpd.conf
–483行–取消注释
Include conf/extra/httpd-vhosts.conf
#vim /etc/httpd/conf/httpd.conf
IncludeOptional conf.d/*.conf
systemctl restart httpd
二、基于ip的虚拟主机
①设置一个虚拟ip
②添加主机配置和设置访问控制
③修改apache主配置文件
④重启服务和验证结果
三、基于端口
①修改虚拟主机配置文件
②修改apache主配置文件
③重③重启服务和验证结果
二、Apache 日志分割
使用Apache 自带 rotatelogs 分割工具,将 Apache 的日志进行按每天的日期自动分割。
vim /usr/local/httpd/conf/httpd.conf
1.
重启服务和验证结果:
三、Apache的网页优化
一、网页压缩
①首先检查是否安装 mod_deflate 模块
apachectl -t -D DUMP_MODULES | grep “deflate”
如果没有安装mod_deflate 模块,重新编译安装 Apache 添加 mod_deflate 模块
systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak
yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-deflate #加入mod_deflate 模块
make && make install
配置 mod_deflate 模块启用
vim /usr/local/httpd/conf/httpd.conf
--52行--修改
Listen 192.198.169.10:80
--105行--取消注释
LoadModule deflate_module modules/mod_deflate.so #开启mod_deflate 模块
--197行--取消注释,修改
ServerName www.kgc.com:80
--末行添加--
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png #代表对什么样的内容启用gzip压缩
DeflateCompressionLevel 9 #代表压缩级别,范围为1~9
SetOutputFilter DEFLATE #代表启用deflate 模块对本站点的输出进行gzip压缩
</IfModule>
测试访问
方法一:
在Linux系统中,打开火狐浏览器,右击点查看元素
选择 网络 ---> 选择 HTML、WS、其他
访问 http://192.168.169.10 ,双击200响应消息查看响应头中包含 Content-Encoding: gzip
方法二:
在Windows系统中依次安装 Microsoft.NET4 和fiddler 软件,打开fiddler 软件
选择 inspectors ---> 选择 Headers
浏览器访问 http://192.168.169.10 ,双击200响应消息查看 Content-Encoding: gzip