Apache虚拟主机、分割日志、保持长连接

本文详细介绍了如何配置Apache虚拟主机,包括基于域名、IP地址和端口号的访问方式,并讲解了Apache的连接保持与日志分割,旨在提升服务器的服务效率和管理便捷性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

apache虚拟主机解决在一台主机上可以使用不同的域名、端口和IP来提高不同的服务

一、基于域名访问虚拟主机

为每个虚拟主机使用不用的域名,但是其对应的IP地址是相同的。
域名不同 IP相同 端口相同。
基于域名是最为普遍的虚拟web主机类型。

1、为虚拟主机提供域名解析

方法一: 部署DNS域名解析服务器,来提供域名解析
方法二: 在/etc/hosts 文件中临时配置域名与IP 地址的映射关系
echo "192.168.100.22 www.benet.com" >> /etc/hosts
echo "192.168.100.22 www.ddyyff.com" >> /etc/hosts

在这里插入图片描述

2、为虚拟主机准备网页文档

[root@localhost ~]# mkdir -p /var/www/html/benet
[root@localhost ~]# mkdir -p /var/www/html/ddyyff
[root@localhost ~]# echo "<h1>www.benet.com</h1>" > /var/www/html/benet/index.html
[root@localhost ~]# echo "<h1>www.ddyyff.com</h1>" > /var/www/html/ddyyff/index.html

在这里插入图片描述

3、添加虚拟主机配置

源码编译安装的虚拟主机配置文件路径的情况下

vim /usr/local/httpd/conf/extra/httpd-vhosts.conf       
到子配置文件中找到vhosts虚拟主机配置文件
模板文件:
<VirtualHost *:80>                                      #设置虚拟站点区域
    ServerAdmin webmaster@dummy-host.example.com        #设置管理员邮箱,这行可注释掉
    DocumentRoot "/usr/local/httpd/docs/dummy-host.example.com"    #设置网站根目录
    ServerName dummy-host.example.com                   #设置Web站点的完整域名(主机名+域名)
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error_log"    #设置错误日志文件的路径
    CustomLog "logs/dummy-host.example.com-access_log" common     #设置访问日志文件的路径 
</VirtualHost>                                          #结束标签
PS:combined 表示组合日志 common表示通用日志

在这里插入图片描述
options指令常用选项

1、None :表示不启用任何的服务特性
2、FollowSymLinks :服务器允许在此目录中使用符号连接(软链接)
3、Indexes:如果输入的网址对应服务器上的一个文件目录,而此目录中又没有Apache配置文件中的DirectoryIndex指令指定的文件(例如:DirectoryIndex index.html index.php) ,则列出该目录下的所有文件
4、Multiviews:如果客户端请求的路径可能对应多种类型的文件,那么服务器将根据客户端请求的具体情况自动选择
一个最匹配客户端要求的文件。例如,在服务器站点的file文件夹下中存在名为hello.jpg和hello.html的两个文件,此时用户输入http://localhost/file/hello ,如果在file文件夹下并没有hello子目录,那么服务器将会尝试在file目录下查找形如hello.*的文件然后根据用户请求的具体情况返回最匹配要求的hello.jpg或者hello.html
5、All:表示除Multiviews之外的所有特性。这也是Options指令的默认设置

Allowoverride指令解释:
.htaccessy(分布式隐含配置文件):提供了针对每个目录改变配置的方法,即在一个特定的目录中放置一个包含特定指令的文件,其中的指令作用于此目录及其所有子目录当Allooverride设置成None时,相应的配置目录下的.htaccess文件是不被读取的,即无法生效。当Allooverride设置成All时,每一次请求访问相应目录下的文件时,都会读取.htaccess文件的配置,意味着原Apache指令会被.htaccess文件中的指令重写。
从性能和安全性考虑,一般都尽可能避免使用.htaccess文件,任何希望放在.htaccess文件中的配置,都可放在主配置文件(httpd.conf )的段中,而且高效。因此Allowoverride属性一般都配置成None

地址限制策略:
Require all granted:允许所有主机访问。
Require all denied:拒绝所有主机访问,
Require local:仅允许本地主机访问。
Require [not] host <主机名或域名列表>:允许或拒绝指定主机或域名访问。
Require [not] ip <IP地址或网段列表>:允许或拒绝指定IP地址网络访问。

RPM或YUM安装的虚拟主机配置文件路径的情况下

#vim /etc/httpd/conf.d/vhosts.conf                      

4、加载虚拟的配置文件

[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf

在这里插入图片描述

5、重启httpd服务

在这里插入图片描述

结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、基于IP地址访问虚拟主机

1、添加虚拟网卡

ifconfig ens33:0 192.168.100.23 netmask 255.255.255.0

2、修改httpd虚拟主机配置


vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 

在这里插入图片描述

3、修改主配置文件

vim /usr/local/httpd/conf/httpd.conf

在这里插入图片描述

结果

在这里插入图片描述
在这里插入图片描述

三、基于端口号访问虚拟主机

1、修改子配置文件中虚拟主机配置信息

vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

在这里插入图片描述

2、修改主配置文件

vim /etc/httpd/conf/httpd.conf

在这里插入图片描述

3、重启httpd

在这里插入图片描述

结果

在这里插入图片描述

在这里插入图片描述

Apache连接保持

HTTP是基于TCP协议上的可靠传输,每次在HTTP连接之前都要经过TCP连接,每个TCP连接都需要进行三次握手与四次挥手,每次建立与关闭连接对于HTTP而言都消耗更多的内存与cpu资源,解决方法就是保持连接

vim /usr/local/httpd/conf/extra/httpd-default.conf

在这里插入图片描述

在这里插入图片描述

或者
把http.conf文件中这个注释去掉 ,默认开启长连接,最大连接数,最大连接间隔的配置。
在这里插入图片描述

Apache日志分割

vim /usr/local/httpd/conf/httpd.conf   访问日志分割设置
#273行,分割错误日志
ErrorLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/error_log_%Y%m%d.log 86400"
#305行,分割访问日志
CustomLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/access_%Y%m%d.log 86400"   combined
PS:
-l:表示使用本地时间
/error_log:日志名称
%Y-%m-%d:年--86400:表示日志分隔的间隔是1天,单位是秒

在这里插入图片描述

在这里插入图片描述

结果

在这里插入图片描述

总结

在创建虚拟主机时,通过基于域名的情况下需要修改自己的域名转换、httpd.conf、http-vhosts.conf 通过IP和端口的访问虚拟主机只需要修改配置文件:httpd.conf 和http-vhosts.conf。httpd.conf只需修改监听地址和端口。httpd-vhosts.conf需要修改ip和域名的映射。
注意:在主配置文件中引入虚拟主机配置文件让httpd识别
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值