當前位置 主頁 > 服務器問題 > nginx問題匯總 > 最大化 縮小

    nginx 多個站點該如何配置

    欄目:nginx問題匯總 時間:2018-11-30 15:53

      有時候你想在一臺服務器上為不同的域名運行不同的站點。比如www.siteA.com作為博客,www.siteB.com作為論壇。你可以把兩個域名的IP都解析到你的服務器上,但是沒法在Nginx的根目錄里同時運行兩個不同的網站。這時候,你就需要使用虛擬目錄了。假設你把博客放在”/home/user/www/blog”下,論壇放在”/home/user/www/forum”下。下面我們就開始配置了:
      在Nginx配置目錄下,創建一個”vhost”目錄。本例假設Nginx是默認安裝,配置目錄在”/etc/nginx”
      $ sudo mkdir /etc/nginx/vhost
      創建siteA的配置文件
      $ sudo vi /etc/nginx/vhost/vhost_siteA.conf
      輸入以下配置信息
      server {
      listen       80;                        # 監聽端口
      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一樣創建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
      現在訪問www.siteA.com和www.siteB.com,你將發現瀏覽器會打開不同的站點
      禁止訪問小技巧
      假如你的Nginx根目錄設在”/home/user/www”,你想阻止別人通過”http://IP地址/blog”或”http://IP地址/forum”來訪問你的站點,最簡單的方法就是禁止IP地址訪問。方法如下:
      打開Nginx網站默認配置文件,記得先備份
      $ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default_bak
      $ sudo vi /etc/nginx/sites-available/default
      將所有內容刪除,只留以下配置
      server {
      listen 80 default_server;
      server_name _;
      return 404;
      }
      重啟Nginx后,別人將無法通過IP地址訪問網站了
      如果你不想禁止IP地址訪問整個目錄,只是要防止別人通過IP訪問你的博客和論壇。那就需要禁止”/blog”和”/forum”的目錄訪問。
      打開Nginx網站默認配置文件,同上面一樣,記得先備份
      在”server { }”部分加上以下配置
      location ^—— /blog/ {
      deny all;
      }
      location ^—— /forum/ {
      deny all;
      }
      重啟Nginx即可
777亚洲人成视频免费视频