运维人必须了解的昔日静态网页霸主apache服务之虚拟主机及日志分割

本文详细介绍了Apache虚拟主机的三种配置方式:基于域名、IP地址和端口,以及如何通过配置实现多站点服务。通过DNS解析或主机映射文件设置域名,利用端口或IP区分不同站点,有效利用服务器资源降低成本。此外,还讲解了日志分割,以优化日志管理和资源使用。
摘要由CSDN通过智能技术生成

一、访问主机服务的本质

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 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值