Ubuntu Nginx 配置多站點


Ubuntu Nginx 配置多站點

   

原文來自: https://www.codecasts.com/blo...

在維護 codecasts 期間,遇到很多次“一個 nginx 如何配置多個站點” 的問題,我通常的回復就是:多添加一個 server 的 block 配置就好了,然而很多同學還是沒能配置成功,今天我們仔細來看看在 一台 Ubuntu 的服務器中,如何在 nginx 在配置多個站點。

1. 安裝 Nginx

在 Ubuntu 中,你可以直接通過 apt-get 命令來安裝 Nginx:

sudo apt-get install nginx

2.創建新的文件路徑

在安裝完新的 Nginx 之后,針對多個站點的配置,其實我們可以設置不同的 root 來返回不同的內容:

sudo mkdir -p /var/www/domain-one.com/html sudo mkdir -p /var/www/domain-two.com/html

以上的命令就會創建兩個對應的目錄:主要將 domain-one.com 和 domain-two.com 換成你自己的域名。然后再將這兩個文件夾給定權限和所有權:

sudo chown -R www-data:www-data /var/www/domain-one.com/html sudo chown -R www-data:www-data /var/www/domain-two.com/html

上面的 www-data:www-data 就是 Nginx 默認的用戶組合用戶名。

3.創建不同的入口文件

在這里為了演示方便,我們可以直接在第二步的兩個目錄中分別創建 index.html 文件:

sudo vim /var/www/domain-one.com/html/index.html

然后添加下面的內容:

<html> <head> <title>Welcome to Domain-one.com!</title> </head> <body> <h1>Success! The Domain-one.com server block is working!</h1> </body> </html>

對應的 domain-two.com 我們可以這樣:

sudo vim /var/www/domain-two.com/html/index.html

在 domain-two.com 這里添加下面的內容:

<html> <head> <title>Welcome to Domain-two.com!</title> </head> <body> <h1>Success! The Domain-two.com server block is working!</h1> </body> </html>

主要上面的內容主要是用 domain-one 和 domain-two 來區分,在你照着文章實踐的時候,記得替換成你自己的域名,如何你僅僅是學習目的的話: 推薦你去買騰訊雲的香港主機(香港主機不用備案),趁着雙十一活動便宜!

4.創建不同的配置文件

在安裝完 Nginx 之后,其實 Nginx 的默認配置文件實在 /etc/nginx/sites-available/default 的,但是我們要配置多站點的話,可以這樣:

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/domain-one.com

然后編輯 /etc/nginx/sites-available/domain-one.com 配置文件:

sudo vi /etc/nginx/sites-available/domain-one.com

刪除原來所有的配置內容,添加下面的配置:

server { listen 80; listen [::]:80; root /var/www/domain-one.com/html; index index.html index.htm index.nginx-debian.html; server_name domain-one.com www.domain-one.com; location / { try_files $uri $uri/ =404; } }

這樣就配置完 domain-one.com 了,如果你需要配置 SSL 的話,一樣是在 /etc/nginx/sites-available/domain-one.com 這個文件配置就好。接下來就照葫蘆畫瓢,我們創建 domain-two.com 的配置文件:

sudo cp /etc/nginx/sites-available/domain-one.com /etc/nginx/sites-available/domain-two.com

以上命令就會復制出 domain-two.com 的配置文件,然后編輯該文件:

sudo vi /etc/nginx/sites-available/domain-two.com

主要在這個文件里面主要是將 domain-one.com 改為 domain-two.com; 然后,root 也注意一下:

server { listen 80; listen [::]:80; root /var/www/domain-two.com/html; index index.html index.htm index.nginx-debian.html; server_name domain-two.com www.domain-two.com; location / { try_files $uri $uri/ =404; } }

這樣我們的兩個域名配置文件就設置好了,最后我們需要將原來 Nginx 的 default 配置刪除:

sudo rm etc/nginx/sites-available/default

注意這里是要刪除的!

5.建立軟鏈接

有了 domain-one.com 和 domain-two.com 的配置之后,我們需要把這兩個配置告知 Nginx :

sudo ln -s /etc/nginx/sites-available/domain-one.com /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/domain-two.com /etc/nginx/sites-enabled/

執行上面的命令之后,我們再使用 nginx -t 檢測 Nginx 的配置文件是否有錯:

sudo nginx -t

如果你沒有看到報錯,就可以直接重啟 Nginx 服務了:

sudo service nginx restart

這樣就大功告成啦!訪問你的域名試試!!!


免責聲明!

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



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