一、目标
在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
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/b.com
ServerName b.com
ServerAlias *.b.com
<Directory "/var/www/b.com">
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
注释:这是在虚拟站点配置文件中添加两个虚拟站点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!
------------------------------------kahn------------------------2021年1月2日23:19:50------------------------------------------