LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

Nginx 配置全攻略:從零開始,30分鐘掌握核心指令與配置邏輯

admin
2025年8月16日 8:23 本文熱度 281

01
一句話讀懂 Nginx

把 Nginx 想象成商場里最會看人的金牌導購,顧客(用戶)只需說“我要買 X”,導購(Nginx)立刻把他領到最合適的店(后端服務)。

更牛的是,這位導購還能防黃牛(防攻擊)、查庫存(健康檢查)、給 VIP 插隊(權重分流),一人頂一隊,堪稱“全能管家”。

02
配置語法冷啟動

一行行帶你拆解最常用指令

2.1 最小可運行配置

# /etc/nginx/nginx.conf
user  nginx;                       # **進程身份**:用 nginx 用戶啟動,安全隔離
worker_processes  auto;            # **CPU 親和**:有幾核就起幾個工作進程

events {
    worker_connections1024;      # **并發上限**:單進程最大 1024 條連接
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    # 性能三連
    sendfile        on;            # **零拷貝**內核直發文件,省 CPU
    tcp_nopush      on;            # **包合并**攢一波再發,省帶寬
    keepalive_timeout65;         # **長連接**65 秒內復用 TCP

    # 日志雙生花
    access_log  /var/log/nginx/access.log;
    error_log   /var/log/nginx/error.log;

    # Gzip 壓縮
    gzipon;
    gzip_types text/plain text/css application/json;

    # 虛擬主機示例
    server {
        listen       80;
        server_name  example.com;

        location / {
            root   /var/www/html;
            index  index.html;
        }
    }
}

注解:

  1. 1. user 與 worker_processes 決定安全與性能基線。
  2. 2. sendfile + tcp_nopush 是靜態資源大殺器。
  3. 3. keepalive_timeout 讓短連接變“長情”,減少握手開銷。

2.2 HTTPS 一鍵升級(含 TLS1.3)

server {
    listen 443 ssl http2;                       # **HTTP2** + **TLS**
    server_name example.com;

    ssl_certificate      /etc/ssl/certs/server.crt;
    ssl_certificate_key  /etc/ssl/private/server.key;

    # 只放行當代密碼套件
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
    ssl_prefer_server_ciphers on;               # **服務器說了算**
}

注解:

  1. 1. http2 讓多路復用起飛,同域名資源并行下載。
  2. 2. TLS1.3 砍掉歷史包袱,握手往返從 2-RTT 縮到 1-RTT。
  3. 3. 指定 ciphers 避免出現“弱雞”加密算法。

2.3 反向代理 + 緩存組合拳

# 1. 先聲明緩存區
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;

server {
    listen80;
    server_name api.example.com;

    # 2. 正式開緩存
    location / {
        proxy_pass         http://backend_cluster;
        proxy_cache        my_cache;               # **緩存名字叫 my_cache**
        proxy_cache_valid20030210m;            # **10 分鐘快樂緩存**
        proxy_cache_key    $scheme$host$request_uri;# **緩存鍵值**,防止串味
    }
}

注解:

  1. 1. levels=1:2 把 1 萬文件散到兩級目錄,避免 inode 爆表。
  2. 2. inactive=60m 60 分鐘沒人訪問就踢出緩存。
  3. 3. proxy_cache_key 決定哪些參數參與緩存命中,務必包含核心變量。

03
負載均衡全攻略

:讓流量像坐過山車一樣絲滑

3.1 輪詢 vs 加權 vs IP 哈希

策略
配置關鍵字
場景一句話總結
輪詢
默認不寫
人人平等
,請求均攤
加權輪詢
weight=高配多勞
,高配機器扛大頭
IP 哈希
ip_hash;粘人精
,同一 IP 落到同機
最少連接
least_conn;能者多勞
,誰閑誰上

3.2 真·實戰配置(含健康檢查)

upstream web_app {
    least_conn;                             # **誰閑誰上**
    server10.0.0.1:8080 weight=3 max_fails=3 fail_timeout=30s;
    server10.0.0.2:8080 weight=1;
    server10.0.0.3:8080 backup;            # **備胎機**,主全掛才啟用
    keepalive32;                           # **32 條長連接**復用
}

server {
    listen80;
    server_name app.example.com;

    location / {
        proxy_pass         http://web_app;
        proxy_http_version1.1;
        proxy_set_header Connection "";      # **長連接標配**
        proxy_connect_timeout2s;
        proxy_read_timeout    5s;
    }
}

注解:

  1. 1. backup 讓 10.0.0.3 平時摸魚,關鍵時刻救命。
  2. 2. keepalive 32 與 HTTP1.1 長連接搭配,減少握手風暴。
  3. 3. max_fails + fail_timeout 自動拉黑“假死”節點,30 秒后給復活機會。

3.3 灰度發布:權重“溫水煮青蛙”

upstream canary {
    server 10.0.0.10:8080 weight=9;   # **老版本**
    server 10.0.0.11:8080 weight=1;   # **新版本**,先放 10% 流量
}

注解:

  1. 1. 通過 weight 逐步上調,肉眼無感完成版本切換。
  2. 2. 出問題秒切回 weight=0零回滾時間。

3.4 日志“顯微鏡”:一眼定位慢節點

log_format upstream_log '$remote_addr [$time_local] '
                        'up_addr=$upstream_addr status=$status '
                        'rt=$request_time u_rt=$upstream_response_time';

access_log /var/log/nginx/lb_access.log upstream_log;

注解:

  1. 1. $upstream_response_time 暴露后端真實耗時。
  2. 2. request_time 減去 upstream_response_time 就能算出 Nginx 自身開銷。

結尾

3 行命令檢查你的 Nginx 是否健康

nginx -t                  # **語法體檢**
ss -tulnp | grep nginx    # **端口監聽一覽**
curl -I https://example.com | grep server  # **響應頭確認**


閱讀原文:原文鏈接


該文章在 2025/8/18 12:36:02 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
亚洲国产aⅴ精品一区二区 日韩一级二级一区二区 | 中文字幕在线永久91 | 亚洲欧美日韩动漫一区 | 中文字幕v亚洲日本在线电影 | 色先锋在线不卡2019 | 婷婷丁香五月天永久在线 |