在一台服務器上搭建多個網站的方法(Apache版)


Apache的配置文件一般放置在/etc/httpd/conf文件夾下,httpd.conf是它的主配置文件,在進行配置時可以將虛擬主機的配置文件單獨配置,如取名為vhost.conf,然后再http.conf中加入一行包含的語句“Include /etc/httpd/conf/vhost.conf”即可將vhost.conf的配置文件包含進來。

 

目前在一台服務器上搭建多個網站的方法主要由以下幾種:
1、 基於IP地址
這種方法適用於一台服務器有多個IP的情況,但目前阿里雲的ECS只允許綁定一個公網IP和一個私網IP,故此方法不適用
2、 基於端口號
這種方法使用不同的端口號來識別不同的網站,實際訪問時使用網址加端口號的方式來實現,如http://port.huigher.cn:80http://port.huigher.cn:81http://port.huigher.cn:82,該方式配置后需要在網站后加上端口號來訪問不同的網站,適用於網站域名短缺但服務器的端口號充足的情況,缺點是網站后需要加上端口號,不利於用戶訪問
3、 基於主機名
這種方法使用不同的域名來區分不同的網站,所有的域名解析都指向同一個IP,Apache通過在HTTP頭中附帶的host參數來判斷用戶需要訪問哪一個網站,如http://test1.huigher.cnhttp://test2.huigher.cnhttp://test3.huigher.cn,多數情況下多個網站架在一台服務器上均使用該方法,下面以CentOS6.5系統為例,說明如何配置基於主機名的Apache虛擬主機。

一、 在Apache的配置文件夾下新建vhost.conf,作為虛擬主機的配置文件,在其中編寫虛擬主機的內容,先加入默認的文件頭:

 


NameVirtualHost *:80

    ServerName *
    # DocumentRoot為默認情況下網站的目錄
    DocumentRoot /www/html


二、 之后再根據實際情況添加以下的配置:

 


#在任意的地址上監聽80端口上的HTTP請求

    #網站管理員的聯系方式
    ServerAdmin

test@huigher.cn
    #網站的目錄
    DocumentRoot /var/www/html/test3
    #主機名,apache就是通過這個地址來識別不同的網站
    ServerName test3.huigher.cn
     #錯誤日志路徑
    ErrorLog logs/test3.huigher.cn-error_log
    #訪問日志路徑
    CustomLog logs/test3.huigher.cn-access_log common


四、 服務器上有多少個網站,那么就分別配置多少份以上信息,並根據實際情況修改其中的內容,測試時服務器上的頁面配置情況如下:

z1-1.JPG

 

五、 在http.conf文件中加入一行“Include /etc/httpd/conf/vhost.conf”,將vhost.conf文件內容包含進來

 

六、在/etc/hosts文件中將網站的域名綁定到本地環回地址上:

127.0.0.1 test1.huigher.cn

127.0.0.1 test2.huigher.cn

127.0.0.1 test3.huigher.cn


七、 最后使用service httpd reload重新加載配置文件或service httpd restart重啟Apache進程即可


八、 測試不同的域名返回了不同的網站內容

 


免責聲明!

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



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