
鏡像下載下傳、域名解析、時間同步請點選
阿裡巴巴開源鏡像站一個伺服器配置塊是一個 Nginx 指令,它定義了對于一個指定域名的設定,允許你在一個單機伺服器上運作多個網站。對于每一個網站,你可以設定網站檔案根目錄(包含網站檔案的目錄),建立一個獨立的安全政策,使用不同的 SSL 證書等等。本文描述了如何在 CentOS 8 上設定 Nginx 伺服器塊。
一、前提條件
在繼續這個指南之前,請確定你滿足了下面的前提條件:
- 指向你公共伺服器 IP 的域名
- 在你的 CentOS 系統上安裝了 Nginx
- 以 root 或者其他有 sudo 權限的使用者身份登入
在一些文檔中,術語
Server Blocks
也被稱為
Virtual host
。一個虛拟主機是一個 Apache 的術語。
二、建立檔案結構
文檔根目錄是每個域名對應網站檔案所存儲并且響應請求的地方。
文檔根目錄可以被設定到任何你想要設定的地方。
我們将會使用下面的檔案夾結構:
/var/www/
├── example.com
│ └── public_html
├── example2.com
│ └── public_html
├── example3.com
│ └── public_html
對于每一個被托管在伺服器上的域名,我們将在
/var/www
目錄下建立一個獨立的檔案夾。在檔案夾域名檔案夾下,我們建立一個
public_html
檔案夾,它将作為域名的檔案根目錄,并且将會存儲該域名的網站檔案。
我們開始為域名
example.com
建立根目錄:
sudo mkdir -p /var/www/example.com/public_html
為了友善測試,我們在域名的文檔根目錄下建立一個
index.html
檔案。
sudo nano /var/www/example.com/public_html/index.html
拷貝并且粘貼下面的代碼到檔案中:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Welcome to example.com</title>
</head>
<body>
<h1>Success! example.com home page!</h1>
</body>
</html>
想要避免任何權限問題,修改域名的文檔根目錄的所有者到使用者
nginx
:
sudo chown -R nginx: /var/www/example.com
三、建立一個伺服器塊
在 CentOS 上,Nginx 伺服器塊配置檔案預設以
.conf
結尾并且被存儲在
/etc/nginx/conf.d
目錄。
打開你的文本編輯器,并且為域名建立一個配置檔案:
sudo nano /etc/nginx/conf.d/example.com.conf
配置檔案可以命名為任何你想要的名字,但是通常情況下,我們最好使用域名名字。
拷貝并且粘貼下面的代碼到檔案:
server {
listen 80;
listen [::]:80;
root /var/www/example.com/public_html;
index index.html;
server_name example.com www.example.com;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location / {
try_files $uri $uri/ =404;
}
}
儲存檔案,并且檢測 Nginx 配置檔案是否有文法錯誤:
sudo nginx -t
如果沒有錯誤,輸出将會像下面這樣:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
重新開機 Nginx 服務,使應用生效:
sudo systemctl restart nginx
最後,驗證伺服器配置區塊是否正常運作,在你的浏覽器中打開
[http://example.com](http://example.com)
,你将會看到下面的畫面:
四、總結
我們已經向你展示如何建立 Nginx 伺服器配置塊,并且在一個簡單的 CentOS 伺服器上托管很多域名。
你可以重複上面的步驟,并且為你所有的域名添加額外的伺服器配置塊。
如果你想要使用 SSL 證書加密你的網站,你可以生成并且安裝一個免費的
Letsencrypt 免費SSL證書。
“ 提供全面,高效和穩定的系統鏡像、應用軟體下載下傳、域名解析和時間同步服務。”