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

Nginx 新手教程:設置 server_name 指令

Nginx 新手教程:設置 server_name 指令

Nginx 是一款高效能的網頁伺服器,廣泛應用於各種網站和應用程式中。對於新手來說,理解 Nginx 的配置文件及其指令是非常重要的,其中 server_name 指令是設定虛擬主機的關鍵。本文將深入探討 server_name 指令的使用方法及其重要性。

什麼是 server_name 指令?

server_name 指令用於指定伺服器的名稱,這些名稱可以是域名或 IP 地址。當 Nginx 接收到請求時,它會根據請求中的主機名來匹配相應的 server_name。這使得同一台伺服器可以承載多個網站,實現虛擬主機的功能。

server_name 指令的基本語法

server {
    listen 80;
    server_name example.com www.example.com;
    location / {
        root /var/www/example;
        index index.html index.htm;
    }
}

在上述範例中,server_name 指令指定了兩個主機名:example.comwww.example.com。當用戶訪問這些域名時,Nginx 將會使用這個伺服器區塊的配置。

使用通配符

在某些情況下,您可能希望使用通配符來匹配多個子域名。例如,如果您希望所有以 example.com 結尾的子域名都能被匹配,可以這樣設置:

server {
    listen 80;
    server_name *.example.com;
    location / {
        root /var/www/example;
        index index.html index.htm;
    }
}

這樣的配置將會匹配 test.example.comblog.example.com 等子域名。

設置多個域名

如果您希望一個伺服器區塊能夠處理多個域名,可以在 server_name 中列出所有的域名,使用空格分隔。例如:

server {
    listen 80;
    server_name example.com www.example.com another-example.com;
    location / {
        root /var/www/example;
        index index.html index.htm;
    }
}

測試配置

在修改 Nginx 配置文件後,您應該使用以下命令來測試配置的正確性:

sudo nginx -t

如果配置正確,您將會看到類似於 “syntax is ok” 的消息。接著,您可以重新加載 Nginx 以使更改生效:

sudo systemctl reload nginx

常見問題

  • 如何設置 HTTPS?
    您需要在 server 區塊中添加 SSL 配置,並使用 listen 443 ssl; 指令。
  • server_name 可以使用 IP 嗎?
    是的,您可以使用伺服器的 IP 地址作為 server_name

總結

掌握 server_name 指令的使用對於 Nginx 的配置至關重要。它不僅能夠幫助您設置虛擬主機,還能提高網站的可管理性和靈活性。無論您是運行個人網站還是商業應用,正確配置 Nginx 都能為您帶來更好的性能和安全性。如果您需要更多有關 香港 VPS 的資訊,請訪問我們的網站。