什麼是Nginx?

Nginx是一款高性能的Web服務器和反向代理服務器,它輕量級、穩定性強,能處理高併發訪問,常用於搭建個人博客、企業網站等。相比傳統的Apache,Nginx更省資源,配置也更靈活,是新手入門Web服務器的絕佳選擇。

一、安裝Nginx

在開始配置前,需要先安裝Nginx。以下是主流Linux系統的安裝方法(Windows和macOS用戶可跳過,或使用Docker安裝,這裏以Linux爲例):

Ubuntu/Debian系統

打開終端,執行以下命令:

# 更新軟件包列表
sudo apt update  
# 安裝Nginx
sudo apt install nginx -y  
# 啓動Nginx並設置開機自啓
sudo systemctl start nginx  
sudo systemctl enable nginx  

CentOS/RHEL系統

# 安裝Nginx(CentOS 8+已自帶,若未安裝)
sudo dnf install nginx -y  
# 啓動並設置開機自啓
sudo systemctl start nginx  
sudo systemctl enable nginx  

驗證安裝成功

安裝後,執行以下命令檢查Nginx狀態:

sudo systemctl status nginx  

若顯示“active (running)”,則安裝成功。也可直接在瀏覽器訪問服務器IP(如http://127.0.0.1http://localhost),能看到Nginx默認歡迎頁面,說明安裝完成。

二、理解Nginx配置文件

Nginx的核心是配置文件,默認位於/etc/nginx/目錄下,關鍵文件及作用:
- nginx.conf:主配置文件,包含全局設置(如worker進程數、日誌路徑等)。
- conf.d/:子配置目錄,通常將每個虛擬主機(網站)的配置單獨寫在該目錄下的.conf文件中。

三、配置第一個網站

我們將配置一個簡單的Web服務器,步驟如下:

1. 創建網站文件目錄

Nginx默認網站文件存放在/var/www/html(Ubuntu/Debian)或/usr/share/nginx/html(CentOS),可直接使用該目錄。

# 創建測試目錄(若不存在)
sudo mkdir -p /var/www/html  
# 創建首頁文件index.html
sudo nano /var/www/html/index.html  

2. 編寫簡單的HTML內容

index.html中輸入以下內容(可自定義):

<!DOCTYPE html>
<html>
<head>
    <title>我的第一個Nginx網站</title>
</head>
<body>
    <h1>Hello Nginx!</h1>
    <p>這是我用Nginx搭建的第一個Web服務器~</p>
</body>
</html>

Ctrl+X保存並退出編輯器。

3. 配置虛擬主機

Nginx通過server塊定義虛擬主機(網站),需在/etc/nginx/conf.d/目錄下創建一個配置文件(如default.conf):

sudo nano /etc/nginx/conf.d/default.conf  

在文件中添加以下配置(解釋見註釋):

server {
    # 監聽80端口(HTTP默認端口)
    listen 80;  
    # 訪問域名/IP(新手可填localhost或服務器IP,如192.168.1.100)
    server_name localhost;  

    # 網站文件存放路徑(與步驟1的目錄一致)
    root /var/www/html;  
    # 首頁文件(按順序查找,優先index.html)
    index index.html;  

    # (可選)默認404頁面
    location / {
        try_files $uri $uri/ =404;
    }
}

4. 檢查配置並重新加載

修改配置後,需先檢查語法是否有誤,避免啓動失敗:

sudo nginx -t  

若顯示“test is successful”,則配置正確。然後重新加載配置(無需重啓服務):

sudo systemctl reload nginx  

四、測試訪問網站

配置完成後,在瀏覽器中輸入服務器IP或localhost,即可看到剛纔編寫的index.html內容:
- 若服務器IP爲192.168.1.100,直接訪問http://192.168.1.100
- 若用localhost,訪問http://localhost

若無法訪問?檢查以下常見問題:
1. 防火牆未開放80端口
- Ubuntu/Debian:sudo ufw allow 80/tcp(允許HTTP流量)
- CentOS/RHEL:sudo firewall-cmd --add-port=80/tcp --permanent + sudo firewall-cmd --reload
- 雲服務器需在控制檯安全組添加“80端口入站規則”

  1. 文件權限問題
    Nginx默認以www-data(Ubuntu)或nginx(CentOS)用戶運行,需確保目錄有讀取權限:
   sudo chown -R www-data:www-data /var/www/html  # Ubuntu/Debian
   sudo chown -R nginx:nginx /usr/share/nginx/html  # CentOS

五、Nginx常用管理命令

  • 啓動/停止/重啓
  sudo systemctl start nginx    # 啓動
  sudo systemctl stop nginx     # 停止
  sudo systemctl restart nginx  # 重啓
  sudo systemctl reload nginx   # 重新加載配置(推薦,不中斷服務)
  • 查看狀態
  sudo systemctl status nginx   # 查看運行狀態

六、總結

通過以上步驟,你已成功用Nginx搭建了一個能訪問的Web服務器!核心流程是:安裝Nginx → 配置網站文件和虛擬主機 → 檢查配置並測試訪問。後續可在此基礎上添加CSS、JS等資源,或配置HTTPS(需SSL證書),讓網站更完善。

小提示:修改配置文件後,務必先用nginx -t檢查語法,再用reload生效,避免服務中斷!

小夜