一、环境介绍
- 系统:centos8
- 服务器:阿里云ecs
- apache版本:2.4.x
- php版本:7.4.4
二、业务场景
一台阿里云服务器,一个公网IP,支持多个域名访问,实际就是跑多个项目;
三、实际操作步骤
1. 域名配置hosts
127.0.0.1 你的A站域名
127.0.0.1 你的B站域名
.....
2. 修改apache,httpd.conf(默认路径/etc/httpd/conf/httpd.conf),操作前建议使用cp命令备份一份
- httpd.conf文档中搜索关键字mod_vhost_alias
- 搜不到 -> 在文档的LoadModule附近,增加 LoadModule vhost_alias_module modules/mod_vhost_alias.so
- 搜到 -> 加了#注释,把注释去掉
LoadModule vhost_alias_module modules/mod_vhost_alias.so
-
关于这个扩展,感兴趣可以看下,点我
-
接下来在httpd.conf底部加入以下配置
Include conf/extra/httpd-vhosts.conf
3. 创建extra目录,创建httpd-vhosts.conf文件并新增配置
- 在/etc/httpd/conf目录下,新增extra目录
- cd进入到extra目录之后,创建httpd-vhosts.conf文件,使用vim或vi编辑httpd-vhosts.conf文件,增加以下代码;
<VirtualHost *:80>
ServerName do.cn #此处是我的域名,改成你的
DocumentRoot /var/www/do/public #此处是我的项目地址,改成你的
</VirtualHost>
<VirtualHost *:80>
ServerName blog.do.cn #此处是我的域名,改成你的
DocumentRoot /var/www/blog_do/public #此处是我的项目地址,改成你的
</VirtualHost>
- 重启apache,【见证奇迹的时刻】,报错就接着折腾~~
systemctl restart httpd.service
-
经过测试,浏览器访问都是OK的,有问题您可以底部留言;
-
分享一下感受,折腾了很久,搞完了头晕乎乎的,虽发现运行了,觉得要做到理解所以然,需要学习的东西太多了、太多了~~~