本文已参与「新人创作礼」活动,一起开启掘金创作之路。
一、目标
在centos7.9下配置apache2.4.6版本上,添加多个站点,或者说添加多个域名共用80端口。
二、说明
不知道为何,最近使用yum的方式安装了httpd后,想配置多站点,死活不行了。本帖就是为了解决这个问题。
环境:centos7.9+httpd-2.4.6-95.el7.centos.x86_64
[root@master35 var]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [root@master35 var]# [root@master35 var]# rpm -qa |grep httpd httpd-manual-2.4.6-95.el7.centos.noarch httpd-2.4.6-95.el7.centos.x86_64 httpd-tools-2.4.6-95.el7.centos.x86_64
三、大致步骤
1.修改apache默认配置文件 ● apache默认配置文件的位置:/etc/httpd/conf/httpd.conf
1-1.编辑配置文件
cp /etc/httpd/conf/httpd.conf{,.bak} vim /etc/httpd/conf/httpd.conf 1-2.在配置文件的大约58行位置,添加如下两行内容
LoadModule vhost_alias_module /usr/lib64/httpd/modules/mod_vhost_alias.so Include /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf 注释:这是告诉apache去加载vhost模块文件,已经vhost文件的位置
2.修改httpd-vhosts虚拟站点配置文件 ● 文件的默认位置:/usr/share/doc/httpd-2.4.6/httpd-vhosts.conf
1-1.编辑配置文件
cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf{,.bak} vim /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf 1-2.在配置文件的大约58行位置,添加如下两行内容
<VirtualHost *:80> DocumentRoot /var/www/a.com ServerName a.com ServerAlias *.a.com <Directory "/var/www/a.com"> Order deny,allow Allow from all
<VirtualHost *:80> DocumentRoot /var/www/b.com ServerName b.com ServerAlias *.b.com <Directory "/var/www/b.com"> Order deny,allow Allow from all
注释:这是在虚拟站点配置文件中添加两个虚拟站点a.com和b.com,当然你可以照葫芦画瓢继续添加其他站点
3.重启apache让配置生效 systemctl restart httpd ##注意放行80端口,或者直接关闭防火墙。(略) 4.给测试站点添加测试主页 mkdir /var/www/{a,b}.com echo "a.com welcome. by kahn" > /var/www/a.com/index.html echo "b.com welcome. by kahn" > /var/www/b.com/index.html 5.修改windows真机的host解析 ● 将windows真机上的hosts解析到测试的centos上
windows的hosts文件路径:c:\windows\system32\drivers\etc\hosts
追加1行内容:10.1.1.35 a.com b.com
注释:10.1.1.35指的是你的centos主机地址。
6.在windows真机上测试效果
如果感觉本帖对你有所帮助,请给个双击再走,写贴不易,谢谢!
测试ok!