欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx配置實(shí)戰(zhàn)之手把手教你搞定生產(chǎn)級配置

 更新時(shí)間:2025年06月04日 09:48:42   作者:天天摸魚的java工程師  
不會部署項(xiàng)目的后端不是一個(gè)合格的后端,Nginx 不僅能搞定反向代理,負(fù)載均衡,還能實(shí)現(xiàn)限流防刷等一堆騷操作,下面小編就來一一和大家講講具體布置

先靈魂拷問一下:寫了一堆接口卻不會部署?服務(wù)器被惡意請求打崩過?靜態(tài)資源加載慢到用戶想摔手機(jī)?別慌!Nginx 作為后端工程師的「部署瑞士軍刀」,能搞定反向代理、負(fù)載均衡、限流防刷等一堆騷操作。記住咯:不會部署項(xiàng)目的后端不是一個(gè)合格的后端,咱摸魚可以,但服務(wù)器必須穩(wěn)如老狗!

一、Nginx 是啥?能摸魚嗎?

簡單說,Nginx 是個(gè)高性能的「反向代理服務(wù)器」,就像你公司門口的保安:

外部請求先經(jīng)過它,再轉(zhuǎn)發(fā)到你的后端服務(wù)(反向代理)

它能同時(shí)處理上萬個(gè)并發(fā)連接,比 Tomcat 單線程傻等強(qiáng) 100 倍(高并發(fā)處理)

還能幫你處理靜態(tài)文件、壓縮數(shù)據(jù)、防惡意攻擊(摸魚時(shí)的安全保鏢)

舉個(gè)栗子:你寫了個(gè)電商接口,直接暴露 IP 怕被攻擊?讓 Nginx 當(dāng)「中間人」,外部只知道 Nginx 的地址,真實(shí)服務(wù)器 IP 藏得嚴(yán)嚴(yán)實(shí)實(shí),安心摸魚不怕被抓包!

二、實(shí)戰(zhàn)場景一:反向代理 & 負(fù)載均衡(高并發(fā)必備)

場景:多個(gè)后端服務(wù)負(fù)載不均,大促時(shí)部分服務(wù)器被壓爆

配置目標(biāo):讓 Nginx 把請求均勻轉(zhuǎn)發(fā)到 3 臺后端服務(wù)器,隱藏真實(shí) IP,還能自動剔除掛掉的節(jié)點(diǎn)

# 全局配置:定義Nginx運(yùn)行的基本參數(shù)
user  nginx;  # 運(yùn)行用戶,默認(rèn)就行
worker_processes  1;  # 工作進(jìn)程數(shù),一般設(shè)為CPU核心數(shù),摸魚主機(jī)設(shè)1也行
# 錯(cuò)誤日志和PID文件
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
# 負(fù)載均衡配置:定義后端服務(wù)器列表
upstream backend_servers {
    # 輪詢策略:默認(rèn)按順序轉(zhuǎn)發(fā)請求
    server 192.168.1.10:8080;  # 后端服務(wù)器A
    server 192.168.1.11:8080;  # 后端服務(wù)器B
    server 192.168.1.12:8080;  # 后端服務(wù)器C
    
    # 進(jìn)階配置:健康檢查(服務(wù)器掛了自動踢掉)
    least_conn;  # 最小連接數(shù)策略,哪個(gè)服務(wù)器空閑就轉(zhuǎn)發(fā)給誰
    keepalive 32;  # 保持32個(gè)長連接,減少TCP三次握手開銷
    proxy_next_upstream error timeout http_500;  # 轉(zhuǎn)發(fā)失敗時(shí),自動重試下一臺服務(wù)器
}
# 服務(wù)器配置:定義Nginx對外提供服務(wù)的端口和規(guī)則
server {
    listen       80;  # 監(jiān)聽80端口(HTTP)
    server_name  www.yourdomain.com;  # 域名,改成你的域名或IP
    
    # 反向代理規(guī)則:所有以/api/開頭的請求轉(zhuǎn)發(fā)到后端服務(wù)器
    location /api/ {
        proxy_pass http://backend_servers/;  # 轉(zhuǎn)發(fā)到upstream定義的服務(wù)器組
        
        # 傳遞客戶端真實(shí)IP(后端需要獲取用戶IP時(shí)用)
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        
        # 超時(shí)配置:防止某個(gè)請求長時(shí)間阻塞
        proxy_connect_timeout 30s;
        proxy_read_timeout 60s;
        proxy_send_timeout 60s;
    }
}

摸魚關(guān)鍵點(diǎn)

后端服務(wù)器 IP 全藏在 Nginx 里,外部只能訪問 Nginx 的公網(wǎng) IP

大促時(shí)流量均勻分散到 3 臺服務(wù)器,再也不用擔(dān)心自己寫的接口被壓崩

三、實(shí)戰(zhàn)場景二:靜態(tài)資源處理 & 動靜分離(網(wǎng)頁加載速度起飛)

場景:前端小姐姐抱怨圖片 / JS 加載慢,甩鍋說后端接口卡

配置目標(biāo):讓 Nginx 直接處理圖片、CSS、JS 等靜態(tài)文件,減輕后端壓力

server {
    listen       80;
    server_name  www.yourdomain.com;
    # 靜態(tài)資源路徑:假設(shè)圖片存在/data/images/,JS/CSS在/data/static/
    location /static/ {
        root /data/;  # 根路徑,實(shí)際文件路徑是/data/static/...
        autoindex off;  # 禁止列出目錄(安全考慮)
        expires 30d;  # 瀏覽器緩存30天,減少重復(fù)請求
        gzip on;  # 開啟壓縮,減小文件傳輸大小
        gzip_types text/css application/javascript image/png;  # 壓縮類型
    }
    location /images/ {
        root /data/;
        # 防盜鏈:防止其他網(wǎng)站盜用你的圖片
        valid_referers none blocked www.yourdomain.com;
        if ($invalid_referer) {
            return 403;  # 非法引用返回403錯(cuò)誤
        }
    }
    # 動態(tài)請求(如登錄接口)還是轉(zhuǎn)發(fā)給后端
    location /api/ {
        proxy_pass http://backend_servers/;
    }
}

摸魚關(guān)鍵點(diǎn)

靜態(tài)文件直接由 Nginx 返回,速度比后端處理快 10 倍以上

瀏覽器緩存 + 壓縮,用戶第二次訪問秒加載,前端小姐姐再也不甩鍋

四、實(shí)戰(zhàn)場景三:限流防刷 & IP 黑白名單(防惡意攻擊)

場景:接口被惡意 IP 高頻訪問,服務(wù)器日志爆滿

配置目標(biāo):限制單個(gè) IP 的并發(fā)連接數(shù)和請求頻率,拉黑惡意 IP

# 先定義限流策略,放在http塊里(和upstream同級)
http {
    # 1. 并發(fā)連接限制:單個(gè)IP最多同時(shí)保持10個(gè)連接
    limit_conn_zone $binary_remote_addr zone=ip_conn:10m;  # 定義存儲IP連接數(shù)的共享內(nèi)存區(qū)
    # 2. 請求頻率限制:單個(gè)IP每秒最多5個(gè)請求(令牌桶算法)
    limit_req_zone $binary_remote_addr zone=ip_req:10m rate=5r/s;  # 每秒生成5個(gè)令牌
    # 3. 黑白名單:定義允許/禁止訪問的IP段
    set $allow_ip "192.168.1.0/24";  # 允許訪問的內(nèi)網(wǎng)IP段
    deny 10.0.0.1;  # 單獨(dú)禁止某個(gè)IP
}
server {
    listen 80;
    server_name www.yourdomain.com;
    location /api/login {  # 登錄接口重點(diǎn)保護(hù)
        # 應(yīng)用并發(fā)連接限制:每個(gè)IP最多10個(gè)并發(fā)連接
        limit_conn ip_conn 10;
        # 應(yīng)用請求頻率限制:突發(fā)請求最多排隊(duì)10個(gè)(超出返回503)
        limit_req zone=ip_req burst=10 nodelay;
        
        # 黑白名單檢查
        if ($remote_addr !~* $allow_ip) {  # 如果IP不在允許列表
            return 403;  # 禁止訪問
        }
        proxy_pass http://backend_servers/;
    }
}

摸魚關(guān)鍵點(diǎn)

惡意 IP 頻繁刷接口?直接返回 403,服務(wù)器日志再也不會爆了

登錄接口限流后,再也不用擔(dān)心被 CC 攻擊打崩

五、實(shí)戰(zhàn)場景四:HTTPS 配置(數(shù)據(jù)加密傳輸)

場景:用戶反饋登錄時(shí)瀏覽器提示「不安全」,被產(chǎn)品經(jīng)理罵哭

配置目標(biāo):啟用 HTTPS,讓數(shù)據(jù)加密傳輸,瀏覽器顯示小綠鎖

server {
    listen       443 ssl;  # 監(jiān)聽443端口(HTTPS)
    server_name  www.yourdomain.com;
    # 證書路徑(從CA機(jī)構(gòu)申請的證書和私鑰)
    ssl_certificate      /etc/nginx/ssl/yourdomain.crt;
    ssl_certificate_key  /etc/nginx/ssl/yourdomain.key;
    ssl_protocols TLSv1.2 TLSv1.3;  # 啟用安全的TLS協(xié)議版本
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384;  # 加密算法
    ssl_prefer_server_ciphers on;  # 優(yōu)先使用服務(wù)器端的加密算法
    # 重定向HTTP到HTTPS(讓用戶輸入http自動轉(zhuǎn)https)
    rewrite ^(.*)$ https://$host$1 permanent;
    location / {
        proxy_pass http://backend_servers/;
    }
}

摸魚關(guān)鍵點(diǎn)

小綠鎖一亮,產(chǎn)品經(jīng)理再也挑不出毛病

數(shù)據(jù)加密傳輸,用戶密碼不怕被中間人竊取

六、如何讓 Nginx 跑起來?(摸魚式部署)

1.安裝 Nginx

Linux:yum install nginx(CentOS)或apt-get install nginx(Ubuntu)

Windows:官網(wǎng)下載解壓,雙擊nginx.exe(摸魚專用)

2.啟動 / 重啟

sudo systemctl start nginx  # 啟動
sudo systemctl restart nginx  # 改完配置后重啟

3.檢查配置是否正確

nginx -t  # 報(bào)錯(cuò)的話回去改配置,別硬啟動!

總結(jié):Nginx 摸魚指南

反向代理:藏好后端 IP,安心摸魚不怕攻擊

負(fù)載均衡:流量均分,再也不用背鍋服務(wù)器崩了

靜態(tài)資源:讓 Nginx 處理圖片 JS,后端專注寫接口

限流防刷:惡意請求全攔下,日志清凈心情好

HTTPS:小綠鎖一掛,產(chǎn)品經(jīng)理笑哈哈

記?。?strong>Nginx 配置不是一次性的!上線后要根據(jù)服務(wù)器壓力、用戶反饋動態(tài)調(diào)整,比如大促時(shí)加大限流閾值,發(fā)現(xiàn)惡意 IP 及時(shí)拉黑。

到此這篇關(guān)于Nginx配置實(shí)戰(zhàn)之手把手教你搞定生產(chǎn)級配置的文章就介紹到這了,更多相關(guān)Nginx配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Linux下Nginx安全證書ssl配置方法

    Linux下Nginx安全證書ssl配置方法

    這篇文章主要介紹了linux下nginx服務(wù)器配置安全證書的方法,分享下證書的具體安裝步驟,有需要的朋友參考下
    2014-01-01
  • Nginx服務(wù)器對數(shù)據(jù)傳輸速度限制的基本配置方法講解

    Nginx服務(wù)器對數(shù)據(jù)傳輸速度限制的基本配置方法講解

    這篇文章主要介紹了Nginx服務(wù)器對數(shù)據(jù)傳輸速度限制的基本配置方法講解,包括第三方開發(fā)的限速模塊Nginx-limit-traffic-rate-module的使用介紹,需要的朋友可以參考下
    2016-01-01
  • Nginx方向代理wss或ws的實(shí)現(xiàn)示例

    Nginx方向代理wss或ws的實(shí)現(xiàn)示例

    本文主要介紹了Nginx方向代理wss或ws的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-10-10
  • 詳解Nginx限流配置

    詳解Nginx限流配置

    本文以示例的形式,由淺入深講解Nginx限流相關(guān)配置,是對簡略的官方文檔的積極補(bǔ)充,感興趣的朋友跟隨小編一起看看吧
    2019-09-09
  • Nginx+Tomcat負(fù)載均衡集群安裝配置案例詳解

    Nginx+Tomcat負(fù)載均衡集群安裝配置案例詳解

    Nginx是一款非常優(yōu)秀的http服務(wù)器軟件,它能夠支持高達(dá)50000個(gè)并發(fā)連接數(shù)的相應(yīng),Nginx+Tomcat負(fù)載均衡集案列是應(yīng)用于生產(chǎn)環(huán)境的一套可靠的Web站點(diǎn)解決方案,對Nginx Tomcat負(fù)載均衡集群相關(guān)知識感興趣的朋友一起看看吧
    2021-10-10
  • 詳解Nginx location 匹配規(guī)則

    詳解Nginx location 匹配規(guī)則

    本篇文章主要介紹了Nginx location 匹配規(guī)則,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • Nginx中worker connections問題的解決方法

    Nginx中worker connections問題的解決方法

    這篇文章主要介紹了Nginx中worker connections問題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Nginx如何進(jìn)行流量按比例轉(zhuǎn)發(fā)

    Nginx如何進(jìn)行流量按比例轉(zhuǎn)發(fā)

    Nginx 可以借助split_clients指令或通過 weight 參數(shù)以及 Lua 腳本實(shí)現(xiàn)流量按比例轉(zhuǎn)發(fā),下面小編就為大家介紹一下兩種方式具體的操作步驟吧
    2025-03-03
  • 阿里云Nginx配置https實(shí)現(xiàn)域名訪問項(xiàng)目(圖文教程)

    阿里云Nginx配置https實(shí)現(xiàn)域名訪問項(xiàng)目(圖文教程)

    這篇文章主要介紹了阿里云Nginx配置https實(shí)現(xiàn)域名訪問項(xiàng)目(圖文教程),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 使用Nginx配置文件服務(wù)器方式

    使用Nginx配置文件服務(wù)器方式

    這篇文章主要介紹了使用Nginx配置文件服務(wù)器方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-05-05

最新評論