目标
用户有2个域名,分别是 aaa.yoursite.com , bbb.yoursite.com希望实现访问以上2个站点时,实际打开的是不同子目录网站程序的需求。
步骤
上传代码
这里不具体介绍如何上传代码,假定用户已经上传2个站点的代码到 /home/www/htdocs/aaa ,/home/www/htdocs/bbb 子目录下,为了测试,分别放了两个不同内容的 index.html,并且2个目录及其子目录权限已经改成 www:www。参考命令:chown www:www -R /home/www/htdocs
修改配置文件
修改httpd.conf开启虚拟节点配置文件,方法如下:vi /usr/local/apache/conf/httpd.conf
如上图所示 移动光标到红色行的开头,输入 x删除#号,如下:Include conf/extra/httpd-vhosts.conf
然后移动到如下图部分在ProxyPassMatch 前面加上#号(注释掉此行)。
最终修改后相关2行如下:
Include conf/extra/httpd-vhosts.conf #ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/home/www/logs/php-fpm.sock|fcgi://127.0.0.1/home/www/htdocs
然后输入按住shift+: 输入x! 回车,完成文件的修改。修改 httpd-vhosts.conf 配置文件httpd-vhosts.conf
先将以上红色部分每行开头加上# 号(即注释掉红色几行),然后在后面添加如下2个节点。
<VirtualHost *:80> ServerAdmin webmaster@serveradmin.com DocumentRoot "/home/www/htdocs/aaa"ServerName aaa.yoursite.comProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/home/www/logs/php-fpm.sock|fcgi://127.0.0.1/home/www/htdocs/aaa/</VirtualHost><VirtualHost *:80> ServerAdmin webmaster@serveradmin.com DocumentRoot "/home/www/htdocs/bbb"ServerName bbb.yoursite.comProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/home/www/logs/php-fpm.sock|fcgi://127.0.0.1/home/www/htdocs/bbb/</VirtualHost>
按住 shift+: 输入w!保存退出,如下图:
重启服务
重启apache ,命令如下:
/usr/local/apache/bin/apachectl restart
访问测试
最后进行访问测试