RockyLinux9 By SystemArch_Alex

Rocky Linux 9 基礎教學 (14):Nginx 高效能網頁伺服器架設與優化

打造現代化的 Web 服務環境

Nginx 以其高併發、低資源佔用的特性,成為 Rocky Linux 9 上架設網頁伺服的首選。本篇將從安裝、配置到安全加固,帶你完成一個生產等級的部署。

1. 安裝 Nginx

Rocky Linux 9 的 AppStream 儲存庫中已包含 Nginx:

sudo dnf install nginx -y
sudo systemctl enable --now nginx
2. 配置檔案結構解析
  • /etc/nginx/nginx.conf:主配置檔。
  • /etc/nginx/conf.d/:放置各個網站 (Virtual Host) 配置的目錄。
  • /usr/share/nginx/html/:預設的網頁根目錄。
3. 建立虛擬主機 (Server Block)

不要直接修改主配置檔,建議為每個網站建立獨立配置。例如建立 /etc/nginx/conf.d/blog.conf

server {
    listen 80;
    server_name blog.example.com;
    root /var/www/blog;
    index index.html index.php;

    location / {
        try_files $uri $uri/ =404;
    }

    access_log /var/log/nginx/blog_access.log;
    error_log /var/log/nginx/blog_error.log;
}
4. 安全加固與防火牆設定

確保防火牆允許 HTTP 與 HTTPS 流量:

sudo firewall-cmd --permanent --add-service={http,https}
sudo firewall-cmd --reload

此外,建議隱藏 Nginx 版本號以減少被針對性攻擊的風險。在 nginx.confhttp 區塊加入:

server_tokens off;
5. 效能優化建議
  • Worker Processes:通常設定為 auto,讓 Nginx 自動偵測 CPU 核心數。
  • Gzip 壓縮:開啟 Gzip 可以大幅減少傳輸數據量,提升載入速度。
  • Keepalive:適當調高連線保持時間,減少頻繁握手帶來的開銷。

最後,每次修改完配置後,務必使用指令檢查語法正確性:

sudo nginx -t
sudo systemctl reload nginx