Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Nginx 高效能伺服器配置檔核心指令詳細釋義

編輯:系統常見問題解答

Nginx (\"engine x\") 是高效能 HTTP 與反向代理伺服器,亦支援 IMAP/POP3/SMTP 代理。由 Igor Sysoev 為俄羅斯 Rambler.ru 開發,採類 BSD 授權釋出。本文詳細解析其核心配置段落與關鍵指令。

核心配置結構

# 執行用戶
user nobody nobody;

# 工作進程數(建議等於 CPU 核心數)
worker_processes 2;

# 全域錯誤日誌與 PID 檔案
error_log logs/error.log notice;
pid logs/nginx.pid;

# 事件模型與連接數上限
events {
    use epoll;              # Linux 2.6+ 高效事件模型
    worker_connections 1024; # 單進程最大連接數
}

# HTTP 服務主體
http {
    # MIME 類型
    include conf/mime.types;
    default_type application/octet-stream;

    # 日誌格式
    log_format main '$remote_addr - $remote_user [$time_local] '
                    '\"$request\" $status $bytes_sent '
                    '\"$http_referer\" \"$http_user_agent\" '
                    '\"$gzip_ratio\"';
    log_format download '$remote_addr - $remote_user [$time_local] '
                        '\"$request\" $status $bytes_sent '
                        '\"$http_referer\" \"$http_user_agent\" '
                        '\"$http_range\" \"$sent_http_content_range\"';

    # 請求緩衝區
    client_header_buffer_size 1k;
    large_client_header_buffers 4 4k;
    # ... 更多指令續接
}

關鍵指令說明

指令作用建議值
worker_processes工作進程數CPU 核心數
use epoll事件通知機制Linux 必用 epoll,FreeBSD 用 kqueue
worker_connections單進程最大連接數1024~65535,視記憶體而定
client_header_buffer_size請求標頭預設緩衝區1k 足夠大多數請求
large_client_header_buffers大標頭緩衝區(數量 大小)4 4k 或 4 8k
client_max_body_size客戶端請求主體大小上限預設 1m,上傳場景需調大
sendfile on啟用零拷貝傳輸靜態檔案服務必開
tcp_nopush on配合 sendfile 優化封包傳輸
tcp_nodelay on關閉 Nagle 演算法,降低延遲即時互動場景建議開啟
keepalive_timeout長連線超時時間65s 典型值
gzip on啟用 Gzip 壓縮節省頻寬,CPU 換頻寬

掌握核心指令即可根據業務場景調優 Nginx,發揮其高併發、低記憶體優勢。

Copyright © Windows教程網 All Rights Reserved