服务器设置和教程 · 8 10 月, 2024

Nginx 新手教程:設置 server 指令

Nginx 新手教程:設置 server 指令

Nginx 是一款高效能的網頁伺服器,廣泛應用於靜態內容的提供、反向代理、負載均衡等場景。對於新手來說,理解 Nginx 的配置文件結構及其指令是非常重要的。本文將重點介紹如何設置 Nginx 的 server 指令,幫助您快速上手。

什麼是 server 指令?

在 Nginx 的配置文件中,server 指令用於定義一個虛擬主機的配置。每個 server 區塊可以包含多個指令,這些指令決定了如何處理進入的請求。通常,您可以在 Nginx 的主配置文件 nginx.conf 中找到這些設定,或者在 sites-availablesites-enabled 目錄下的文件中。

基本的 server 區塊範例

以下是一個基本的 server 區塊範例:

server {
    listen 80;  # 監聽 80 端口
    server_name example.com www.example.com;  # 虛擬主機名稱

    location / {
        root /var/www/html;  # 網頁根目錄
        index index.html index.htm;  # 預設首頁
    }

    error_page 404 /404.html;  # 自定義 404 錯誤頁面
    location = /404.html {
        internal;  # 內部請求
    }
}

指令解析

  • listen: 指定 Nginx 監聽的端口,通常 HTTP 使用 80 端口,HTTPS 使用 443 端口。
  • server_name: 定義虛擬主機的域名,Nginx 將根據請求的 Host 標頭來匹配。
  • location: 用於定義 URL 路徑的匹配規則,並指定如何處理這些請求。
  • root: 設定網站的根目錄,Nginx 將從這個目錄提供靜態文件。
  • index: 指定預設的首頁文件。
  • error_page: 自定義錯誤頁面,當發生特定錯誤時,Nginx 將返回這些頁面。

設置 HTTPS

為了提高網站的安全性,建議使用 HTTPS。以下是設置 HTTPS 的範例:

server {
    listen 443 ssl;  # 監聽 443 端口
    server_name example.com www.example.com;

    ssl_certificate /etc/ssl/certs/example.com.crt;  # SSL 證書路徑
    ssl_certificate_key /etc/ssl/private/example.com.key;  # SSL 私鑰路徑

    location / {
        root /var/www/html;
        index index.html index.htm;
    }
}

SSL 設置解析

  • ssl_certificate: 指定 SSL 證書的路徑。
  • ssl_certificate_key: 指定 SSL 私鑰的路徑。

測試和重啟 Nginx

在完成配置後,您可以使用以下命令測試 Nginx 配置是否正確:

sudo nginx -t

如果測試通過,您可以重啟 Nginx 以應用更改:

sudo systemctl restart nginx

總結

本文介紹了 Nginx 的 server 指令的基本用法,包括如何設置虛擬主機、處理靜態文件以及配置 HTTPS。掌握這些基本知識後,您將能夠更有效地管理您的網站。如果您需要更高效的 香港 VPS 解決方案,請考慮使用專業的服務提供商來滿足您的需求。