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实现一台服务器上运行多个网站的主要内容,如果未能解决你的问题,请参考以下文章

配置Apache虚拟主机,实现在一台服务器上运行多个网站

在一台 apache 服务器上设置多个 IP 地址

Linux系统下Apache2.4.6配置虚拟主机

在一台Apache服务器上创建多个站点(不同域名)

做网站-Apache多站点如何配置?

43.apache虚拟主机的使用