第二步:在主配置中引入我们的虚拟主机配置
| sudo vim /etc/httpd/conf/httpd.conf # 在主配置文件末尾添加以下内容 # Load vhost-config files in the "/etc/httpd/vhost-conf.d" directory if any # created by zhongjin on 2016-12-21 冬至 Include vhost-conf.d/*.conf |
第三步:在对应目录放入项目代码
直接参考 Ubnutu 环境下的第三步配置。
第四步:修改 /etc/hosts 文件
直接参考 Ubnutu 环境下的第四步配置。
第五步:重启 apache 服务器并测试
重启 apache 服务器使得配置生效:
| sudo systemctl restart httpd.service |
在浏览器(如果是桌面版的话)中访问 www.jb51.net 或 www.wordpress.com,看看是否输出了 index.php 文件中的内容。
如果你不是桌面版(服务器),那么可以使用命令行测试:
| curl www.jb51.net |
看看返回的字符串是不是正确输出!
注意:
在 Centos 下,由于默认的虚拟主机配置(localhost)是直接在 /etc/httpd/conf/httpd.conf 文件中配置的,所以我们在后面添加我们的配置的时候,会覆盖前面的相同的配置,所以当你 curl localhost 的时候,可能访问的是 jb51项目下的代码,也可能是 wordpress 下的代码。
我的解决方案是:按照上面的步骤重新建一个 localhost 域名,使它指向 /var/www/html 目录即可。
二、同域名下,通过访问不同的端口获得不同的站点
其实在这里实现的步骤跟上面的没多大差别,我就说说需要做的额外操作。
这里以 jb51为例,通过访问 www.jb51.net:80(默认就是80),返回的是“hello,welcome to jb51“,而访问 www.jb51.net:8080,返回的是 ”hello,welcome to jb51background management“。
Ubuntu 环境下:
让我们的 apache2 监听 8080 端口:
修改 /etc/apache2/ports.conf 文件,在 Listen 80 后面添加两行:
| NameVirtualHost *:8080 Listen 8080 |
在 /etc/apache2/sites-available/ 下增加 www-jb51-net-8080.conf,并在 /etc/apache2/sites-enabled/ 下建立符号链接。方法参考前面。
www-jb51-net-8080.conf 的主要配置内容如下:
| <VirtualHost *:8080> #Created by zhongjin on 2016-12-21 冬至 Serveradmin 1054840542@qq.com ServerName www.jb51.net DocumentRoot /home/www/jb51_admin <Directory "/home/www/jb51_admin"> Options FollowSymLinks AllowOverride All #Require all denied Require all granted </Directory> </VirtualHost> |
大家一定要看清楚需要修改的地方,VirtualHost 改为 8080,DocumentRoot 和 Directory 均改为 /home/www/jb51_admin,但是 ServerName 不用改,还是用 www.jb51.net
创建目录 /home/www/jb51_admin,添加文件 index.php,输出 “hello,welcome to jb51background management”。









