Apache實現一台服務器上運行多個網站


   總共有三種方法:通過不同的IP地址

          通過不同的域名

          通過不同的端口號

(1).通過不同的IP地址實現

  例如一台CentOS7有兩個IP:192.168.5.101和192.168.5.103

[root@youxi1 conf]# cd /etc/httpd/conf.d/
[root@youxi1 conf.d]# vim test.conf  //新建一個配置文件
<VirtualHost 192.168.5.101:9988>  //IP和端口
    ServerAdmin webmaster@dummy-host.example.com
    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 webmaster@dummy-host.example.com
    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>
[root@youxi1 conf.d]# vim /var/www/html/index.php 
/var/www/html/index.html
[root@youxi1 conf.d]# vim /var/www/html/test/index.html      
/var/www/html/test/index.html
[root@youxi1 conf.d]# systemctl restart httpd.service

  實驗結果:

 

(2).通過不同的域名實現

  首先需要在域名管理系統中將兩個域名解析的IP地址指向同一個。

[root@youxi1 conf.d]# vim test.conf  //新建一個配置文件
<VirtualHost *:9988>
    ServerAdmin webmaster@dummy-host.example.com
    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 webmaster@dummy-host.example.com
    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>
[root@youxi1 conf.d]# systemctl restart httpd.service

  由於我沒有DNS服務器,所以修改hosts文件

[root@youxi1 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

[root@youxi1 conf.d]# vim test.conf 
<VirtualHost *:9988>
    ServerAdmin webmaster@dummy-host.example.com
    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 webmaster@dummy-host.example.com
    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>
[root@youxi1 conf.d]# systemctl restart httpd.service
[root@youxi1 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

  實驗結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM