Apache实现一台服务器上运行多个网站
Posted diantong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache实现一台服务器上运行多个网站相关的知识,希望对你有一定的参考价值。
总共有三种方法:通过不同的IP地址
通过不同的域名
通过不同的端口号
(1).通过不同的IP地址实现
例如一台CentOS7有两个IP:192.168.5.101和192.168.5.103
[[email protected] conf]# cd /etc/httpd/conf.d/ [[email protected] conf.d]# vim test.conf //新建一个配置文件 <VirtualHost 192.168.5.101:9988> //IP和端口 ServerAdmin [email protected] DocumentRoot /var/www/html/ //指向的路径 ServerName dummy-host.example.com ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common </VirtualHost> <VirtualHost 192.168.5.103:9988> //IP和端口 ServerAdmin [email protected] DocumentRoot /var/www/html/test/ //指向的路径 ServerName dummy-host.example.com ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common </VirtualHost> [[email protected] conf.d]# vim /var/www/html/index.php /var/www/html/index.html [[email protected] conf.d]# vim /var/www/html/test/index.html /var/www/html/test/index.html [[email protected] conf.d]# systemctl restart httpd.service
实验结果:
(2).通过不同的域名实现
首先需要在域名管理系统中将两个域名解析的IP地址指向同一个。
[[email protected] conf.d]# vim test.conf //新建一个配置文件 <VirtualHost *:9988> ServerAdmin [email protected] DocumentRoot /var/www/html/ //指向的路径 ServerName www.youxi1.com ErrorLog logs/www.youxi1.com-error_log CustomLog logs/www.youxi1.com-access_log common </VirtualHost> <VirtualHost *:9988> ServerAdmin [email protected] DocumentRoot /var/www/html/test/ //指向的路径 ServerName test.youxi1.com ErrorLog logs/test.youxi1.com-error_log CustomLog logs/test.youxi1.com-access_log common </VirtualHost> [[email protected] conf.d]# systemctl restart httpd.service
由于我没有DNS服务器,所以修改hosts文件
[[email protected] conf.d]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.5.101 www.youxi1.com 192.168.5.101 test.youxi1.com
Windows修改在C:\\Windows\\System32\\drivers\\etc目录下的hosts文件
192.168.5.101 www.youxi1.com 192.168.5.101 test.youxi1.com
实验结果:
(3).通过不同的端口号实现
修改/etc/httpd/conf/https.conf文件,添加监听端口
Listen 9988 Listen 9989
接着再修改新建的test.conf
[[email protected] conf.d]# vim test.conf <VirtualHost *:9988> ServerAdmin [email protected] DocumentRoot /var/www/html/ ServerName www.youxi1.com ErrorLog logs/www.youxi1.com-error_log CustomLog logs/www.youxi1.com-access_log common </VirtualHost> <VirtualHost *:9989> ServerAdmin [email protected] DocumentRoot /var/www/html/test/ ServerName www.youxi1.com ErrorLog logs/www.youxi1.com-error_log CustomLog logs/www.youxi1.com-access_log common </VirtualHost> [[email protected] conf.d]# systemctl restart httpd.service [[email protected] conf.d]# vim /etc/hosts 192.168.5.101 www.youxi1.com
Windows修改在C:\\Windows\\System32\\drivers\\etc目录下的hosts文件
192.168.5.101 www.youxi1.com
实验结果:
以上是关于Apache实现一台服务器上运行多个网站的主要内容,如果未能解决你的问题,请参考以下文章