运维人必须了解的昔日静态网页霸主apache服务之虚拟主机及日志分割
Posted 28线不知名云架构师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运维人必须了解的昔日静态网页霸主apache服务之虚拟主机及日志分割相关的知识,希望对你有一定的参考价值。
一、访问主机服务的本质
192.168.10.129:80
访问web服务,本质上看(协议)是访问某个IP地址的主机的某个端口(默认80端口),通常需要通过访问不同的域名或端口,实现对不同网站的访问(具体到服务器就是不同的目录),这个时候就需要通过设置空间网站。通常分为三种:基于域名、基于端口、基于不同的IP地址
简单来说,apache虚拟主机就是在一个apache主机上配置多个虚拟空间,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的而不同目录。
同时在同一台服务器中运行多个web站点,其中每一个站点并不独立占用一台真正的计算机
通过虚拟web主机可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本。
使用httpd可以非常方便的构建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑大量的web站点。
二、HTTP支持的虚拟主机类型
2.1.1 基于域名
为每个虚拟主机使用不同的域名,但是其对应的IP 地址是相同的。例如,www.accp.com 和 www.benet.com 共同使用同一个IP地址,这是使用最为普遍的虚拟 web 主机类型
2.1.2 实际操作
方法一:部署DNS域名解析服务器,来提供域名解析
方法二:在主机映射文件/etc/hosta文件中写入,临时配置域名与IP地址的映射关系
echo "192.168.10.130 www.lc.com" >> /etc/hosts
echo "192.168.10.130 www.llc.com" >> /etc/hosts
为虚拟主机准备网页文档
mkdir -p /var/www/html/lc
mkdir -p /var/www/html/llc
echo "<h1>www.lc.com</h1>" > /var/www/html/lc/index.html
echo "<h1>www.llc.com</h1>" > /var/www/html/llc/index.html
添加虚拟主机配置
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
vim /usr/local/httpd/conf/httpd.conf
2.1.3 验证
2.2.1基于IP地址
为每个虚拟主机使用不同的域名,且各自对应的IP地址也不相同。这种方式需要为服务器配备多个网络接口,因此应用并不是非常广。
2.2.2 实际操作
添加一块虚拟网卡
ifconfig ens33:0 192.168.10.110 netmask 255.255.255.0
添加虚拟主机配置
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
vim /usr/local/httpd/conf/httpd.conf
2.2.3 验证
2.3.1 基于端口
这种方式并不使用域名、IP地址来区分不同的站点内容,而是使用了不同的TCP端口号,因此用户在浏览不同的虛拟站点时需要同时指定端口号才能访问。
2.3.2 实际操作
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
vim /usr/local/httpd/conf/httpd.conf
systemctl restart httpd
2.3.3 验证
三、日志分割
vim /usr/local/httpd/conf/httpd.conf
-----273行附近-----修改
ErrorLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/error_%Y%m%d.log 86400" #分割错误日志
-----305行附近-----修改
CustomLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/access_%Y%m%d.log 86400" combined #分割访问日志
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf #虚拟主机也可以进行分割
ErrorLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/lic.com-error_%F.log 86400"
CustomLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/lic.com- access_%F.log 86400" combined
#开头的|为管道符号。
#-l选项表示使用本地时间为时间基准。
#86400表示1天,即每天生成一个新的日志文件。
mkdir /var/log/httpd #创建分割后的日志文件保存目录
systemctl restart httpd
ls /var/log/httpd5
以上是关于运维人必须了解的昔日静态网页霸主apache服务之虚拟主机及日志分割的主要内容,如果未能解决你的问题,请参考以下文章