溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在Nginx中實(shí)現(xiàn)多站點(diǎn)配置

發(fā)布時(shí)間:2021-03-05 18:00:09 來源:億速云 閱讀:2160 作者:Leah 欄目:服務(wù)器

今天就跟大家聊聊有關(guān)如何在Nginx中實(shí)現(xiàn)多站點(diǎn)配置,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

在Nginx配置目錄下,創(chuàng)建一個(gè)”vhost”目錄。本例假設(shè)Nginx是默認(rèn)安裝,配置目錄在”/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;  # 站點(diǎn)域名
  root /home/user/www/blog;       # 站點(diǎn)根目錄
  index index.html index.htm index.php;  # 默認(rèn)導(dǎo)航頁
 
  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;  # 站點(diǎn)域名
  root /home/user/www/forum;       # 站點(diǎn)根目錄
  ...
}

打開nginx.conf文件

sudo vi /etc/nginx/nginx.conf

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

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

重啟Nginx服務(wù)

$ sudo service nginx restart

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

禁止訪問小技巧

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

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

$ 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地址訪問整個(gè)目錄,只是要防止別人通過IP訪問你的博客和論壇。那就需要禁止”/blog”和”/forum”的目錄訪問。

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

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

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

3.重啟Nginx即可

看完上述內(nèi)容,你們對如何在Nginx中實(shí)現(xiàn)多站點(diǎn)配置有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI