主頁 > 知識庫 > 在Nginx上配置多個站點的方法

在Nginx上配置多個站點的方法

熱門標簽:網(wǎng)站建設 智能手機 百度競價點擊價格的計算公式 阿里云 美圖手機 硅谷的囚徒呼叫中心 使用U盤裝系統(tǒng) 檢查注冊表項

有時候你想在一臺服務器上為不同的域名運行不同的站點。比如www.siteA.com作為博客,www.siteB.com作為論壇。你可以把兩個域名的IP都解析到你的服務器上,但是沒法在Nginx的根目錄里同時運行兩個不同的網(wǎng)站。這時候,你就需要使用虛擬目錄了。假設你把博客放在”/home/user/www/blog”下,論壇放在”/home/user/www/forum”下。下面我們就開始配置了:

在Nginx配置目錄下,創(chuàng)建一個”vhost”目錄。本例假設Nginx是默認安裝,配置目錄在”/etc/nginx”

$ sudo mkdir /etc/nginx/vhost

創(chuàng)建siteA的配置文件

$ sudo vi /etc/nginx/vhost/vhost_siteA.conf

輸入以下配置信息

server {
  listen    80;            # 監(jiān)聽端口
  server_name www.siteA.com siteA.com;  # 站點域名
  root /home/user/www/blog;       # 站點根目錄
  index index.html index.htm index.php;  # 默認導航頁
 
  location / {
    # WordPress固定鏈接URL重寫
    if (!-e $request_filename) {
      rewrite (.*) /index.php;
    }
  }
 
  # PHP配置
  location ~ \.php$ {
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
  }
}

同siteA一樣創(chuàng)建siteB的配置文件,兩者僅有的不同是”server_name”和”root”目錄

$ sudo vi /etc/nginx/vhost/vhost_siteB.conf
server {
  ...
  server_name www.siteB.com siteB.com;  # 站點域名
  root /home/user/www/forum;       # 站點根目錄
  ...
}

打開nginx.conf文件

sudo vi /etc/nginx/nginx.conf

將虛擬目錄的配置文件加入到”http {}”部分的末尾

http {
  ...
  include /etc/nginx/vhost/*.conf;
}

重啟Nginx服務

$ sudo service nginx restart

現(xiàn)在訪問www.siteA.com和www.siteB.com,你將發(fā)現(xiàn)瀏覽器會打開不同的站點

禁止訪問小技巧

假如你的Nginx根目錄設在”/home/user/www”,你想阻止別人通過”http://IP地址/blog”或”http://IP地址/forum”來訪問你的站點,最簡單的方法就是禁止IP地址訪問。方法如下:

1.打開Nginx網(wǎng)站默認配置文件,記得先備份

$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default_bak
$ sudo vi /etc/nginx/sites-available/default

2.將所有內(nèi)容刪除,只留以下配置

server {
  listen 80 default_server;
  server_name _;
  return 404;
}

3.重啟Nginx后,別人將無法通過IP地址訪問網(wǎng)站了

如果你不想禁止IP地址訪問整個目錄,只是要防止別人通過IP訪問你的博客和論壇。那就需要禁止”/blog”和”/forum”的目錄訪問。

1.打開Nginx網(wǎng)站默認配置文件,同上面一樣,記得先備份

2.在”server { }”部分加上以下配置

location ^~ /blog/ {
  deny all;
}
location ^~ /forum/ {
  deny all;
}

3.重啟Nginx即可

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:湘潭 湖北 山南 賀州 煙臺 黃山 懷化 通遼

巨人網(wǎng)絡通訊聲明:本文標題《在Nginx上配置多個站點的方法》,本文關鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266