Nginx一個IP配置多個主機

今天,朋友有個網站要掛在我的服務器上,鼓搗了一下Nginx中配置多個主機和域名,具體的要求是:

  • 主機只有一個IP地址 123.123.123.123
  • 有兩個功能不同的網站,一個是我現在的blog,一個是朋友的購物網站
  • 有兩個域名 www.wusay.org www.AusForYou.com,一個是我的blog,一個是朋友的域名
  • 需要用戶通過不同的域名訪問不同的網站內容

安裝兩個站點的源代碼

/srv/www/下建立了兩個目錄,分別用來存放我的blog和朋友的購物網站,目錄分別是wusayAusForYou,具體的代碼安裝和數據庫安裝就不說了

修改NGINX配置

我用的Nginx是1.1.19版本,配置信息都在/etc/nginx/下,主配置文件是nginx.conf,不過這個文件安裝好了以後不用怎麼修改了,注意看看裏面的include /etc/nginx/sites-enabled/*;是否被註釋掉了,如果被註釋掉請刪掉註釋,其中sites-enabled文件夾中就是存各個站點的具體配置信息

修改SITES-ENABLED文件夾內的配置

sites-enabled文件夾中新建兩個文件,分別爲wusayAusForYou內容如下:

server {
listen  80;
server_name www.wusay.org wusay.org ;  
access_log /srv/www/wusay/logs/access.log;
error_log /srv/www/wusay/logs/error.log;
root /srv/www/wusay/public_html;

location / {
# root /srv/www/wusay/public_html;
    index  index.html index.htm index.php; 
    if (-f $request_filename/index.html){
    rewrite (.*) $1/index.html break;
    }
    if (-f $request_filename/index.php){
    rewrite (.*) $1/index.php;
    }
    if (!-f $request_filename){
    rewrite (.*) /index.php;
    }
}

location ~ \.php$ {
    include /etc/nginx/fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /srv/www/wusay/public_html$fastcgi_script_name;
}


}

AusForYou的文件內容也和這個類似,不過server_name那裏要用www.ausforyou.com這個域名,另外,所有的路徑中的wusay都要改成AusForYou,這樣,就爲這臺主機添加了兩個虛擬主機,Nginx會根據域名來決定是將用戶指引到哪一臺虛擬主機上進行操作。

刪除SITES-AVAILABLE中的文件

之前我都配好了,但是一直就弄不了兩個虛擬主機,後來發現sites-available這個目錄下有個default文件,裏面有一些默認配置可能影響了使用,刪掉就行了

重啓NGINX進程

最後,運行/etc/init.d/nginx restart重啓Nginx進程,加載新配置,完成任務

發佈了54 篇原創文章 · 獲贊 16 · 訪問量 47萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章