运维人必须了解的昔日静态网页霸主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服务之虚拟主机及日志分割的主要内容,如果未能解决你的问题,请参考以下文章

Nginx/Apache之伪静态设置 - 运维小结

云原生时代,被重塑的运维人必须具备哪些技能?

运维人不得不了解的eBPF入门指南,新手建议收藏~

昔日智能手机霸主居然沦落到如此田地,可叹!

Apache网页优化之防盗链

Linux运维需要了解:http和apache服务器