首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Nginx 詳解:配置部署、高併發優化與內核參數調優全攻略

     編輯:Java 綜合教學

Nginx 核心命令

啟動: /usr/local/nginx/sbin/nginx
停止: nginx -s stop / quit
重載: nginx -s reload
指定配置: nginx -c /path/nginx.conf
查看版本: nginx -v / -V
測試配置: nginx -t

生產環境配置模板詳解

user www www;
worker_processes 8;                    # CPU 核心數倍數
worker_cpu_affinity 00000001 ...;      # 綁定 CPU 核心
worker_rlimit_nofile 65535;            # 文件描述符限制
events {
    use epoll;                         # Linux 2.6+ 高性能 I/O 模型
    worker_connections 65535;          # 單進程最大連接數
}
http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;                       # 高效文件傳輸
    tcp_nopush on; tcp_nodelay on;     # 防止網絡阻塞
    keepalive_timeout 120;             # 長連接超時
    # FastCGI 優化參數...
    gzip on;                           # 啟用壓縮
    gzip_min_length 1k;
    gzip_comp_level 2;
    gzip_types text/plain application/x-javascript text/css application/xml;
    upstream backend {
        server 192.168.80.121:80 weight=3;
        server 192.168.80.122:80 weight=2;
    }
    server {
        listen 80;
        server_name www.example.com;
        location / { proxy_pass https://backend; ... }
        location ~ .*\.(gif|jpg|png)$ { expires 10d; }
        location ~ .*\.(js|css)$ { expires 1h; }
        # 狀態頁、動靜分離、反向代理細節...
    }
}

關鍵優化參數

參數建議值說明
worker_processesCPU 核心數倍數減少上下文切換
worker_cpu_affinity綁定核心降低調度開銷
worker_rlimit_nofileulimit -n 一致避免 "too many open files"
worker_connections65535最大連接數 = processes × connections
keepalive_timeout60s平衡連接復用與資源佔用
open_file_cachemax=100000 inactive=20s緩存文件描述符

Linux 內核網絡參數調優 (/etc/sysctl.conf)

net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syncookies = 1
net.core.somaxconn = 262144
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.ip_local_port_range = 1024 65000
# 完整優化配置見原文...

應用後執行 sysctl -p 生效。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved