天天看點

CentOS 8 上設定 Nginx 伺服器配置塊

CentOS 8 上設定 Nginx 伺服器配置塊

鏡像下載下傳、域名解析、時間同步請點選

阿裡巴巴開源鏡像站

一個伺服器配置塊是一個 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)

,你将會看到下面的畫面:

CentOS 8 上設定 Nginx 伺服器配置塊

四、總結

我們已經向你展示如何建立 Nginx 伺服器配置塊,并且在一個簡單的 CentOS 伺服器上托管很多域名。

你可以重複上面的步驟,并且為你所有的域名添加額外的伺服器配置塊。

如果你想要使用 SSL 證書加密你的網站,你可以生成并且安裝一個免費的

Letsencrypt 免費SSL證書

提供全面,高效和穩定的系統鏡像、應用軟體下載下傳、域名解析和時間同步服務。”