apache虚拟web主机二三事

什么是虚拟主机

访问一个网页通过域名、端口、ip地址来访问,正常情况下搭建一个网站需要多个网页,而每个网页对应一台服务器,为了减少成本出现了虚拟web主机这种技术,通过在一台主机上配置多个虚拟空间从而达到一个服务器提供多个网页服务。

如何配置虚拟主机

我们可以使用不同的ip地址或者不同的网卡,同ip地址的不同端口,同ip不同域名来让用户访问不同的网页。

同ip不同域名

首先,创建一个提供网页的目录,然后创建主页文件并写入一点内容

mkdir -p /var/www/html/shiki1
echo "<h1>long may the sunshine</h1>" > /var/www/html/shiki1/index.html

然后进入httpd的子配置文件httpd-vhosts.conf中进行配置

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

# 文件中的具体配置
<virtualHost 192.168.214.214:80>					#对214地址的80端口设置
DocumentRoot "/var/www/html/shiki1"					#指定网页目录
serverName www.darksoul.com							#指定域名
ErrorLog "logs/darksoul.com-error_log"				#错误日志存放位置
customLog "logs/darksoul.com-access_log" common		#访问日志存放位置
</VirtualHost>
<Directory "/var/www/html">							#对目录设置访问权限
Options None										#不启用服务器特性
AllowOverride None									#不允许重写apache配置
Require all granted									#允许所有主机访问
</Directory>

再进入主配置文件httpd.conf

#在大约497行找到virtual hosts这两行注释的是虚拟主机,把#号去掉就能读取虚拟主机的子配置文件中的内容
#virtual hosts
Includee conf/extra/httpd-vhosts.conf

最后设置一下dns就完成了

vim /etc/hosts
192.168.214.214 www.darksoul.com

验证一下
在这里插入图片描述

同ip不同端口

在同ip不同域名的基础上把端口修改成不是80的即可,其他照旧

<virtualHost 192.168.214.214:214>					
DocumentRoot "/var/www/html/shiki1"					
serverName www.darksoul.com							
ErrorLog "logs/darksoul.com-error_log"				
customLog "logs/darksoul.com-access_log" common		
</VirtualHost>
<Directory "/var/www/html">							
Options None										
AllowOverride None									
Require all granted									
</Directory>

在httpd.conf文件中添加以下监听端口
在这里插入图片描述
访问一下ip地址的214端口
在这里插入图片描述

不同ip地址

临时创建一个虚拟网卡,如果永久设置需要配置配置文件
在这里插入图片描述
然后在同ip不同域名的基础上修改一下ip地址即可

<virtualHost 192.168.214.100:80>					
DocumentRoot "/var/www/html/shiki1"					
serverName www.darksoul.com							
ErrorLog "logs/darksoul.com-error_log"				
customLog "logs/darksoul.com-access_log" common		
</VirtualHost>
<Directory "/var/www/html">							
Options None										
AllowOverride None									
Require all granted									
</Directory>

把监听ip地址和端口修改一下,然后重启服务
在这里插入图片描述
验证一下
在这里插入图片描述

日志分割

进入httpd.conf主配置文件

275行,在下面添加内容
ErrorLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/shiki.com-error_log_%Y%m%d.log 86400"

305行,在下面添加内容
CustomLog "|/usr/local/bin/rotatelogs -l /var/log/httpd/shiki.com-access_%Y%m%d.log 86400" combined

先查看一下日志文件目录
[root@server ~]# ls /var/log/httpd/
access_log  error_log 

然后重启服务,不报错就成功在观察日志文件目录有没有多出来一个文件
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值