99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Nginx核心作用與生產(chǎn)實踐:從反向代理到平滑升級

Nginx核心作用與生產(chǎn)實踐:從反向代理到平滑升級 聊到 Nginx很多剛接觸服務端的朋友第一反應是“這不就是個 Web 服務器嘛”等真正把它丟進生產(chǎn)環(huán)境才發(fā)現(xiàn)Nginx 的作用和應用場景比想象中大得多靜態(tài)資源服務、反向代理、負載均衡、HTTPS 證書卸載、緩存加速、限流防刷……幾乎每一層都能看到它的身影。這篇文章我想從一個“普通問題”聊起把 Nginx 的核心作用一條條拆開再結合我這些年實際踩過的坑從安裝配置到平滑升級、問題排查給你一份可以直接抄作業(yè)的完整參考。整套內(nèi)容適合剛入門的人也適合已經(jīng)部署過 Nginx 但沒系統(tǒng)梳理過的同學。我盡量不說廢話全部以實際場景和可復現(xiàn)的配置為準。1. Nginx 到底在解決什么問題先說一個最容易被忽略的事實Nginx 最初解決的是 C10K 問題也就是單機能不能扛住一萬個并發(fā)連接。2004 年它剛出來的時候市面上的主流做法還是“每個請求一個進程”的 Apache 模型。連接一多內(nèi)存和 CPU 就被進程調度吃干凈機器直接卡死。Nginx 的思路完全不同它用事件驅動、異步非阻塞的模型用少量 worker 進程就能撐住海量連接。一個進程可以同時處理成千上萬個請求就像餐廳里一個優(yōu)秀的排號員同時在服務幾十桌客人而不是每個客人配一個專屬服務員。放到今天Nginx 的核心功能已經(jīng)發(fā)展成四塊靜態(tài)資源服務圖片、CSS、JS、HTML、音視頻交給它又穩(wěn)又快。反向代理把請求轉發(fā)到后端的應用服務器比如 Java 的 Spring Boot、Node.js、PHP-FPM。負載均衡把流量分攤到多臺后端機器避免一臺被壓垮。安全與加速SSL/TLS 證書卸載、HTTP/2、HTTP/3QUIC、限流、緩存、訪問控制。所以你看很多團隊把 Nginx 放在所有流量的最前面它不是簡單的“網(wǎng)頁服務器”而是整個系統(tǒng)的入口網(wǎng)關。我個人的理解是Nginx 是“連接用戶和后端服務之間的那雙手”。用戶請求進來它決定把人帶到哪個頁面、哪個后端接口、哪臺服務器如果后端掛了它還能幫忙擋一下。這個角色決定了它的配置方式五花八門但底層邏輯始終只有一條——把請求處理到正確的地方。下面我就逐個拆開講。2. 拆開 Nginx 的四個核心作用2.1 靜態(tài)資源服務最基礎也最容易被忽視靜態(tài)資源服務是 Nginx 的基本功也是很多人第一次接觸它的原因。你本地跑了一個 Vue 或 React 項目執(zhí)行pnpm run build之后生成一個 dist 目錄想讓別人能訪問最簡單的辦法就是讓 Nginx 直接托管這個目錄。配合熱詞里看到的“pnpm run build 的包怎么 nginx 啟動”其實就是把構建產(chǎn)物丟到 Nginx 的 root 路徑下。一個最簡單的托管配置server { listen 80; server_name example.com; root /data/www; index index.html; location / { try_files $uri $uri/ /index.html; } }注意最后那個try_filesSPA 項目基本都靠它。前端路由是 history 模式時比如/user/123服務器上根本不存在這個物理文件如果不加try_files直接刷新頁面會 404。try_files $uri $uri/ /index.html的含義是先找這個路徑有沒有對應文件沒有再找有沒有對應目錄都沒有就統(tǒng)一返回index.html讓前端路由自己去處理。靜態(tài)資源這塊有幾個關鍵性能參數(shù)值得單獨說sendfile on; tcp_nopush on; keepalive_timeout 65; gzip on; gzip_types text/plain text/css application/javascript application/json image/svgxml; gzip_min_length 1k; location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff2?)$ { expires 30d; add_header Cache-Control public, immutable; }sendfile讓文件從磁盤到網(wǎng)卡的拷貝過程由內(nèi)核直接完成減少用戶態(tài)切換。gzip壓縮文本類文件實測靜態(tài)資源體積能減少 60% 以上。expires 30d給靜態(tài)資源設置瀏覽器緩存二次訪問幾乎無延遲。我見過很多團隊花大價錢優(yōu)化后端接口結果前端靜態(tài)資源一個 gzip 都沒開首屏加載能慢三倍。靜態(tài)資源托管是最簡單的優(yōu)化起點。2.2 反向代理讓請求去它該去的地方反向代理是 Nginx 使用頻率最高的功能。所謂反向代理就是用戶請求先到 NginxNginx 再按照規(guī)則轉發(fā)到后端的應用服務器。用戶可以感知到的只有 Nginx后端服務器具體在哪、有多少臺對用戶是透明的。對應的還有正向代理那是替客戶端轉發(fā)請求的常用于內(nèi)網(wǎng)訪問外網(wǎng)。Nginx 做的是反過來的事替服務器收請求所以叫反向代理。一個典型的 API 轉發(fā)配置server { listen 80; server_name api.example.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }這里有幾個容易忽略的點第一proxy_set_header Host $host非常重要。后端很多框架會根據(jù) Host 頭生成跳轉鏈接或判斷域名如果不帶上后端拿到的一律是 Nginx 的內(nèi)網(wǎng)地址簽名校驗、單點登錄、跨域這些全都會出問題。第二X-Real-IP和X-Forwarded-For是為了讓后端拿到用戶真實 IP。如果沒有這兩個配置后端日志里看到的所有請求 IP 都是 Nginx 的地址一旦要做封禁、限流、審計完全沒法搞。第三proxy_pass后面有沒有子路徑行為完全不一樣。比如location /api/ { proxy_pass http://backend/; }這種寫法會把/api/前綴去掉再轉發(fā)。而location /api/ { proxy_pass http://backend; }這種不帶尾部/的會把完整的/api/...路徑直接拼到后端地址后面。這個細節(jié)是大坑我見過不下五次因為這里多一個斜杠少一個斜杠導致接口 404。熱詞里有一條“nginx 限制只轉發(fā)帶參數(shù)的 url”這個需求本質就是按照查詢參數(shù)決定要不要轉發(fā)。常見做法是在 location 里判斷$arg_或$query_stringlocation /api/ { if ($args ~ token.) { proxy_pass http://backend; break; } return 404; }意思很直白請求里帶了 token 參數(shù)才轉發(fā)否則直接返回 404。break的作用是命中 if 之后不再繼續(xù)走后續(xù) rewrite 規(guī)則。需要注意的是Nginx 的if指令在很多場景下有坑官方文檔只建議在 return、rewrite 這類場景用整體轉發(fā)邏輯盡量謹慎能用location或map實現(xiàn)就不要硬寫一堆 if。2.3 負載均衡把流量攤到多臺機器上當單臺后端扛不住并發(fā)你就需要橫向擴容前面放一個 Nginx 做負載均衡。Nginx 的upstream模塊就是干這個的配合請求量把流量分發(fā)到不同后端。最小的負載均衡配置upstream backend_cluster { server 192.168.1.10:8080 weight3; server 192.168.1.11:8080 weight1; server 192.168.1.12:8080 backup; } server { listen 80; server_name app.example.com; location / { proxy_pass http://backend_cluster; proxy_set_header Host $host; } }這里我用了三個節(jié)點前兩臺權重是 3:1意思是每 4 個請求里約 3 個打到 10 這臺1 個打到 11 這臺。權重適合兩臺機器配置不一樣的場景配置高的多加一點流量。第三臺打了backup標記平時不參與服務只有前面兩臺都掛了才啟用。這相當于一個災備節(jié)點自動化切換。除了權重輪詢Nginx 還支持ip_hash按用戶 IP 的哈希結果分配同一 IP 固定打到同一臺后端。適合需要 session 保持的老項目。least_conn優(yōu)先發(fā)給當前連接數(shù)最少的后端適合請求處理時長差異較大的場景。負載均衡不是單純“把請求發(fā)出去”還要考慮后端健康狀態(tài)。Nginx 有被動健康檢查即請求轉發(fā)后如果連續(xù)失敗max_fails次就把這臺服務器臨時標記為不可用等fail_timeout時間后再重試。常用配置upstream backend_cluster { server 192.168.1.10:8080 max_fails2 fail_timeout30s; server 192.168.1.11:8080 max_fails2 fail_timeout30s; }意思是 30 秒內(nèi)失敗 2 次就摘掉這個節(jié)點30 秒后再試探。這種機制應對日常宕機足夠了但它屬于“事后發(fā)現(xiàn)”請求已經(jīng)轉發(fā)過去并失敗了。如果要求更主動的健康探測得用商業(yè)版 Plus 或者配合第三方模塊也可以用腳本定時探測后動態(tài)修改 upstream。關于高可用線上一般會再加一層 keepalived把 Nginx 本身做成雙機熱備用虛擬 IPVIP對外提供服務。一臺 Nginx 掛了VIP 自動漂移到另一臺對用戶完全無感知。這里不展開講 keepalived 的配置但方向是明確的Nginx 做流量入口keepalived 做入口的 “保險絲”。2.4 SSL/TLS 終端證書卸載與安全加速現(xiàn)在大部分網(wǎng)站都是 HTTPS證書配置是每個 Nginx 用戶繞不開的活。Nginx 在 SSL 這塊的位置也非常特殊它通常是 TLS 連接的“終點站”外網(wǎng)客戶端和 Nginx 之間走 HTTPSNginx 和后端之間可以走內(nèi)網(wǎng) HTTP。這樣做的原因很實際TLS 握手和加解密都是 CPU 密集操作把這事集中在 Nginx 這一層做后端應用就能省出大量 CPU 去處理業(yè)務邏輯。一段常規(guī) HTTPS 配置server { listen 443 ssl; http2 on; server_name www.example.com; ssl_certificate /etc/nginx/certs/example.com.pem; ssl_certificate_key /etc/nginx/certs/example.com.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; location / { proxy_pass http://backend; } } server { listen 80; server_name www.example.com; return 301 https://$host$request_uri; }第一個server塊監(jiān)聽 443 端口加載證書處理加密流量第二個server塊把 80 端口的 HTTP 請求全部 301 跳轉到 HTTPS。很多小項目直接用這一套就完成了 HTTPS 改造。ssl_protocols建議只保留 TLSv1.2 和 TLSv1.3老舊的 TLSv1.0、TLSv1.1 都有已知漏洞沒必要為了兼容十幾年前的瀏覽器留著。順帶說一下熱詞里的 “docker pull nginx quic 協(xié)議”。QUIC 是 HTTP/3 的底層傳輸協(xié)議Nginx 從 1.25.0 開始對 HTTP/3 的支持逐漸成熟。要啟用 HTTP/3Nginx 編譯時需要加--with-http_v3_module參數(shù)然后在 listen 指令里加上http3listen 443 quic reuseport; listen 443 ssl; http3 on;如果你的 Nginx 是官方通過 yum/apt 安裝的版本先確認版本和編譯參數(shù)是否帶了 HTTP/3 模塊可以用nginx -V看。Docker 鏡像docker pull nginx拉下來之后官方主線版鏡像是否包含 v3 模塊取決于鏡像構建參數(shù)需要先nginx -V 21 | grep http_v3驗證。如果沒帶就考慮用源碼編譯或換成帶模塊的鏡像。QUIC 確實能顯著改善弱網(wǎng)環(huán)境下的連接成功率但部署復雜度也更高不是所有項目都急著上。3. 應用場景與選型什么時候該用 Nginx3.1 前端接入層統(tǒng)一入口大多數(shù) Web 項目的第一層入口就是 Nginx。它的作用相當于一個“前臺接待”所有外部請求先到這里再根據(jù)域名、路徑、請求頭分發(fā)到不同服務按域名區(qū)分api.example.com走 API 服務admin.example.com走管理后臺。按路徑區(qū)分/api/*走后端接口/static/*走靜態(tài)資源/websocket走長連接服務。按請求方法區(qū)分讀接口和寫接口分到不同的上游。有了這一層后端的任何服務都不需要直接暴露公網(wǎng) IP只需要監(jiān)聽內(nèi)網(wǎng)端口整個入口的收口和安全控制都變得很輕松。限流也是入口層常見的需求。比如給登錄接口加限制limit_req_zone $binary_remote_addr zonelogin_limit:10m rate10r/m; location /api/login { limit_req zonelogin_limit burst5 nodelay; proxy_pass http://backend; }這里rate10r/m表示每分鐘最多 10 個請求burst5表示允許突發(fā) 5 個進入排隊隊列。對登錄、短信驗證碼這類高風險接口限流是必須的。3.2 動靜分離前端靜態(tài)資源與后端動態(tài)接口解耦傳統(tǒng)后端渲染的項目尤其是 PHP、Java 單體應用靜態(tài)資源和動態(tài)接口都混在一起。用戶訪問一個頁面服務器既要讀模板文件又要查數(shù)據(jù)庫全部串行處理慢且耗資源。用 Nginx 做動靜分離之后靜態(tài)資源直接走 Nginx 文件系統(tǒng)動態(tài)請求才轉發(fā)給后端location ~* \.(html|css|js|png|jpg|gif|ico|svg|woff2?)$ { root /data/static; expires 7d; } location / { proxy_pass http://backend; }動靜分離對混合架構特別有用。比如前端用 React 構建靜態(tài)頁面后端用 Java 提供 API整體結構就是Nginx 托管前端靜態(tài)文件同時把/api/請求轉發(fā)到 Java 服務。這也是現(xiàn)在最常見的前后端分離部署形態(tài)。3.3 微服務與 API 網(wǎng)關場景微服務架構里每個服務可能單獨部署在一組機器上客戶端不可能記住每個服務的地址。Nginx 可以作為輕量 API 網(wǎng)關按路徑把請求分發(fā)到不同的微服務upstream order_service { server 10.0.0.11:8080; server 10.0.0.12:8080; } upstream user_service { server 10.0.1.11:8080; server 10.0.1.12:8080; } server { listen 80; server_name gateway.example.com; location /api/order/ { proxy_pass http://order_service/; } location /api/user/ { proxy_pass http://user_service/; } }服務規(guī)模不大時這種輕量網(wǎng)關方案比引入全套微服務網(wǎng)關框架要簡單得多。它沒有臃腫的依賴規(guī)則就是純文本配置文件Git 管理、版本回滾都方便。只有當你需要復雜的服務發(fā)現(xiàn)、動態(tài)路由、熔斷、灰度發(fā)布時才應該考慮更重的網(wǎng)關方案。3.4 Nginx、Apache、HAProxy 怎么選這是一個被問爛了但又必須回答的問題。我習慣用下面這張表總結對比項NginxApacheHAProxyEnvoy并發(fā)模型事件驅動異步非阻塞進程/線程模型事件驅動事件驅動靜態(tài)資源處理強一般不支持一般七層路由能力強強較弱強四層轉發(fā)TCP/UDP支持stream較弱非常強支持動態(tài)配置需 reload需 reload需 reload支持 API 熱更新上手成本低低中高生態(tài)成熟度極高高高快速增長簡單說需要同時處理靜態(tài)文件和動態(tài)反代首選 Nginx純四層高并發(fā)流量轉發(fā)HAProxy 更專業(yè)在 Kubernetes 里做 Ingress Controller常見的 nginx-ingress 或 Envoy 都比較合適需要動態(tài)路由和灰度發(fā)布Envoy 這類云原生網(wǎng)關更應景。我這幾年線上項目基本都跑 Nginx只有在一臺機器上要對大量 TCP 端口做負載均衡時才考慮 HAProxy。Nginx 的最大優(yōu)勢是“中庸且全面”大部分場景一個它就能全包。4. 親手搭一套安裝、配置與實操細節(jié)4.1 安裝 Nginx從包管理到 Docker 到源碼不同的部署環(huán)境安裝方式不一樣。我這里列三種最常用的。包管理器安裝是最快的# Debian / Ubuntu apt update apt install -y nginx # CentOS / RedHat / Rocky yum install -y nginx # 或者 dnf install -y nginx包管理器安裝的好處是省事版本隨系統(tǒng)源走能用 systemd 管理。缺點是版本通常偏舊可能缺少新特性比如 HTTP/3 模塊。如果是內(nèi)網(wǎng)環(huán)境沒有外網(wǎng)訪問就需要離線安裝。思路是找一臺同系統(tǒng)版本的機器可以聯(lián)網(wǎng)裝好 Nginx 和依賴用 rpm 或 deb 包導出再拷貝。CentOS 下# 能聯(lián)網(wǎng)的機器上 mkdir nginx-packages yum install --downloadonly --downloaddirnginx-packages nginx然后把整個目錄拷到內(nèi)網(wǎng)機器rpm -ivh nginx-packages/*.rpm即可。這里容易踩依賴坑Nginx 依賴的 pcre、openssl、zlib 可能也被裝到下載目錄里了拷過去一起裝通常沒問題。離線安裝前最好先確認系統(tǒng)版本完全一致我遇到過開發(fā)機是 CentOS 7.9、生產(chǎn)機是 Rocky 9rpm 包互相不兼容白折騰一小時。Docker 方式適合容器化部署docker pull nginx:stable docker run -d --name my-nginx \ -p 80:80 -p 443:443 \ -v /data/www:/usr/share/nginx/html \ -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \ nginx:stableDocker 鏡像的好處是環(huán)境隔離升級和回滾都方便。但要注意容器里的 Nginx 配置文件是短路徑和宿主機不一定完全對應日志最好也掛載出來不然docker logs看起來費勁。另外如果想用 QUIC/HTTP/3得先確認鏡像里的 Nginx 是否帶http_v3_module。源碼編譯安裝是自由度最高的方式也是平滑升級的前提wget https://nginx.org/download/nginx-1.26.2.tar.gz tar xzf nginx-1.26.2.tar.gz cd nginx-1.26.2 ./configure \ --prefix/usr/local/nginx \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_v3_module \ --with-stream \ --with-stream_ssl_module make make install--prefix決定安裝路徑后續(xù)升級、回滾都要依賴這個路徑一定要記住。--with-http_ssl_module是 HTTPS 必需的--with-stream是四層 TCP/UDP 轉發(fā)用的--with-http_v3_module是為了 HTTP/3。裝完之后先驗證版本nginx -v nginx -Vnginx -V會輸出完整的編譯參數(shù)這個信息在升級時必須保留后面講平滑升級時會用到。4.2 配置文件結構與關鍵參數(shù)Nginx 主配置文件默認在/etc/nginx/nginx.conf源碼安裝則在--prefix下的conf/nginx.conf。核心結構如下user nginx; worker_processes auto; worker_rlimit_nofile 65535; events { worker_connections 4096; } http { include /etc/nginx/mime.types; include /etc/nginx/conf.d/*.conf; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; } }幾個關鍵參數(shù)worker_processes auto通常設置為 CPU 核數(shù)Nginx 每個 worker 進程可以充分利用一個核。設多了反而引起上下文切換開銷。worker_connections 4096每個 worker 進程最多同時處理的連接數(shù)。最大并發(fā)連接數(shù)約等于worker_processes * worker_connections。如果這個值太小高并發(fā)時日志里會出現(xiàn) worker_connections are not enough。worker_rlimit_nofile單個進程可以打開的最大文件數(shù)。因為每一條 TCP 連接都對應一個文件描述符這個值太小并發(fā)一高就報 too many open files。include把主配置拆分成多個子配置文件方便管理。推薦每個站點或每個應用單獨建一個 conf 文件放在/etc/nginx/conf.d/下而不是全部堆在一個文件里。4.3 反向代理 負載均衡完整示例我把兩個功能合在一起給一份可以直接用的完整配置upstream app_backend { least_conn; server 10.0.0.10:8080 max_fails2 fail_timeout30s; server 10.0.0.11:8080 max_fails2 fail_timeout30s; } server { listen 80; server_name app.example.com; access_log /var/log/nginx/app.access.log; error_log /var/log/nginx/app.error.log; location / { proxy_pass http://app_backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_connect_timeout 5s; proxy_read_timeout 30s; } location /static/ { alias /data/static/; expires 7d; } }這里把/static/請求直接交給 Nginx 讀文件系統(tǒng)其他請求全部負載均衡到后端。alias和root的區(qū)別值得單獨強調root會把 location 的路徑拼接在根目錄后面比如root /data/static; location /static/時請求/static/a.png會找/data/static/static/a.pngalias /data/static/時則找/data/static/a.png。用錯這兩個指令靜態(tài)資源會全部 404這是新手最容易踩的坑之一。proxy_connect_timeout 5s是 Nginx 與后端建立 TCP 連接的超時時間設太短后端偶爾忙一下就會 502。proxy_read_timeout 30s是讀取后端響應的超時時間如果后端有長任務接口比如導出報表要跑一分鐘這里得對應調大。4.4 HTTPS 證書配置實戰(zhàn)這里以已有證書文件為前提不展開怎么申請證書直接說配置server { listen 443 ssl; http2 on; server_name www.example.com; ssl_certificate /etc/nginx/certs/www.example.com.pem; ssl_certificate_key /etc/nginx/certs/www.example.com.key; ssl_session_timeout 1d; ssl_session_cache shared:SSL:10m; # 安全協(xié)議配置 ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; } }ssl_session_cache shared:SSL:10m是很多團隊容易漏的配置。TLS 握手是乘法運算每次建立新連接都要重新跑一次代價很高。開了 session cache 之后同一臺客戶端一段時間內(nèi)可以復用會話密鑰握手開銷大幅下降。10m 大概能緩存幾萬個 session足夠日常使用。證書到期是一個高頻事故。建議配一個 crontab 定時任務檢查證書有效期0 0 * * * /usr/bin/openssl x509 -enddate -noout -in /etc/nginx/certs/www.example.com.pem每個月跑一次看到快到期就提前換。我見過太多次證書過期導致線上全站報錯起因就是大家都不記得證書是去年哪一天配的。4.5 前端構建產(chǎn)物的部署與“401 驗證身份”配置熱詞里的 “pnpm run build 的包怎么 nginx 啟動”我再展開一下。前端項目構建完得到 dist 目錄部署到服務器/data/wwwNginx 配置server { listen 80; server_name front.example.com; root /data/www; index index.html; location / { try_files $uri $uri/ /index.html; } }前端路由如果是 hash 模式try_files那行其實不加也能跑。但 history 模式必須加否則用戶點擊瀏覽器刷新、或直接訪問二級路由時會 404。有些后臺頁面需要訪問控制Nginx 自帶最簡單的 HTTP Basic Auth配置兩個指令就行l(wèi)ocation /admin/ { alias /data/www/admin/; auth_basic Restricted Area; auth_basic_user_file /etc/nginx/.htpasswd; }然后用工具生成密碼文件htpasswd -c /etc/nginx/.htpasswd admin這個命令會提示輸入密碼生成的文件里存的是用戶名和密碼哈希。之后訪問/admin/就會彈瀏覽器原生認證框輸入賬號密碼才能訪問。熱詞里提到的 “index.php 401 驗證身份” 和這個類似如果后端是 PHP 并且接口返回 401要么是auth_basic導致的安全攔截要么是后端代碼里自己做了登錄校驗。先用curl -I看 401 來自哪個響應頭如果響應頭里有WWW-Authenticate: Basic realm...基本就是 Nginx 的auth_basic在攔。5. 平滑升級、版本管理與踩坑記錄5.1 Nginx 平滑升級到底怎么操作為什么要單獨講平滑升級因為很多人直接用包管理yum update nginx版本是升了但線上連接會被切斷運氣不好配置項兼容性還會出問題。尤其熱詞里提到“Nginx 升級到新版本要注意什么”這絕對是運維里一個高風險動作。源碼編譯的 Nginx 平滑升級標準步驟如下第一步查看當前版本和編譯參數(shù)nginx -V把輸出的 configure arguments 完整記錄下來新版本編譯時參數(shù)要和原來一致不然升級完某些模塊就沒了。第二步下載新版源碼用同樣的 prefix 和 configure 參數(shù)編譯wget https://nginx.org/download/nginx-1.26.2.tar.gz tar xzf nginx-1.26.2.tar.gz cd nginx-1.26.2 ./configure \ --prefix/usr/local/nginx \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_v3_module \ --with-stream make注意這里只執(zhí)行make不要執(zhí)行make install否則會直接覆蓋老版本少了回滾機會。第三步備份舊二進制并替換mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old cp objs/nginx /usr/local/nginx/sbin/nginx第四步向舊 master 進程發(fā)送 USR2 信號啟動新 masterkill -USR2 $(cat /usr/local/nginx/logs/nginx.pid)這時新舊 master 會同時存在新 worker 進程已接管配置。再發(fā)送 WINCH 信號給舊 master讓它優(yōu)雅關閉舊 workerkill -WINCH $(cat /usr/local/nginx/logs/nginx.pid.oldbin)升級完成后新版本就用原 pid 文件舊進程信息在nginx.pid.oldbin里。確認一切正常后可以把舊的二進制文件收起來避免誤用。如果新版本有問題想回滾mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.new mv /usr/local/nginx/sbin/nginx.old /usr/local/nginx/sbin/nginx kill -USR2 $(cat /usr/local/nginx/logs/nginx.pid.oldbin) kill -QUIT $(cat /usr/local/nginx/logs/nginx.pid)這套流程在熱詞里對應“nginx 平滑升級指南”是線上升級的必修課。核心原則是能熱切換就不要冷重啟能回滾就不要硬著頭皮修。5.2 日常運維reload、stop、日志切割日常管理命令不多但每一條都要記清楚命令作用nginx -t檢查配置語法并顯示測試結果nginx -s reload平滑重載配置不中斷服務nginx -s stop快速停止服務nginx -s quit優(yōu)雅停止處理完當前請求再退出systemctl status nginx查看服務狀態(tài)和最近日志nginx -V查看編譯參數(shù)和版本W(wǎng)indows 下關閉 Nginx 是nginx.exe -s stop或nginx.exe -s quit對應熱詞里的 “cmd 關閉 nginx”。注意 Windows 下 nginx 不推薦二進制的生產(chǎn)部署但本地調試完全沒問題。日志切割也經(jīng)常踩坑。Nginx 默認把日志寫在一個文件里時間一長就是幾十 GB。標準做法是用 logrotate/var/log/nginx/*.log { daily missingok rotate 14 compress delaycompress notifempty create 640 nginx adm sharedscripts postrotate [ -f /var/run/nginx.pid ] kill -USR1 cat /var/run/nginx.pid endscript }關鍵是postrotate里的kill -USR1這個信號會讓 Nginx 重新打開日志文件。如果不發(fā)這個信號你就算把舊日志改名了Nginx 還在往舊文件里寫等于沒切割。5.3 上線前我必做的“三查”配置上線前我給自己定了一個固定流程到今天還在用第一查nginx -t。這步不用多說語法錯誤必須在這層攔掉。但我見過有人配完忘了跑直接 reload結果 reload 失敗線上老配置還在跑新配置根本沒生效排查半天。第二查檢查權限和端口。Nginx 報Permission denied時多半是靜態(tài)文件目錄沒有讀權限或者 SELinux 沒放行。檢查端口占用ss -lntp | grep :80如果端口被其他進程占了Nginx 會報bind() to 0.0.0.0:80 failed。第三查做一次真實請求驗證。用 curl 測curl -I http://127.0.0.1:80 curl -I -k https://127.0.0.1:443加上-I只看響應頭能快速判斷 HTTP 狀態(tài)碼是不是預期。如果 502去看 Nginx error.log 和后端服務狀態(tài)如果 403去看目錄權限和 index 文件如果 404先確認 root/alias 路徑對不對。6. 常見問題與排查技巧6.1 Nginx 狀態(tài)碼速查表排查問題時狀態(tài)碼是第一手信號。我把最常見的整理成一張表狀態(tài)碼含義常見原因301永久重定向http 跳 https 配置302臨時重定向登錄跳轉、鑒權跳轉304未修改命中本地緩存Nginx 返回 not modified400請求錯誤請求頭格式異常、參數(shù)非法401未認證auth_basic 或后端登錄校驗失敗403禁止訪問目錄權限不足、無 index 文件、IP 被封404未找到root/alias 路徑錯誤、SPA try_files 缺失405方法不允許靜態(tài)文件上 POST 請求未處理413請求體過大client_max_body_size 設置過小429請求過多l(xiāng)imit_req 限流觸發(fā)500服務器內(nèi)部錯誤后端應用異常502網(wǎng)關錯誤后端服務未啟動、端口不通、超時503服務不可用后端無可用節(jié)點、正在維護504網(wǎng)關超時后端處理超時proxy_read_timeout 太小6.2 高頻故障排查實錄502 Bad Gateway 是最常見的故障。排查順序systemctl status nginx確認 Nginx 本身活著。檢查后端服務是否啟動ss -lntp | grep 8080。在后端機器上直接curl http://127.0.0.1:8080/health確認后端本身能不能訪問。如果后端正常但 Nginx 還是 502看 Nginx error.logtail -f /var/log/nginx/error.log常見報錯是connect() failed (111: Connection refused)或connect() failed (110: Connection timed out)。前者說明端口沒開或者 IP 不通后者說明防火墻或網(wǎng)絡策略攔了。504 是另一個高發(fā)問題。典型場景是后端接口本身要跑很久比如導出大量數(shù)據(jù)Nginx 默認proxy_read_timeout 60s后端 60 秒內(nèi)沒返回Nginx 就主動斷開返回 504。解決辦法是給長任務接口單獨配一個 location調大超時時間location /api/export/ { proxy_pass http://backend; proxy_read_timeout 300s; }403 往往不是權限問題就是索引問題。我遇到最多次的是兩種一是 root 目錄下的文件權限不是 nginx 用戶可讀二是autoindex off且目錄下沒有 index.html。先ls -l看權限再確認目錄下有沒有 index 文件。另外 CentOS 系統(tǒng)還要注意 SELinuxgetenforce一下如果是 Enforcing試試setsebool -P httpd_can_network_connect 1放行。404 分清是 Nginx 的還是后端的。如果請求打到后端接口返回 404那是后端路由問題如果是 Nginx 直接返回 404 的頁面多半是 root 或 alias 配錯。判斷方法是看錯誤日志tail -f /var/log/nginx/error.log日志里會寫清楚 “open() “/data/www/xxx” failed (2: No such file or directory)”告訴你 Nginx 實際在找哪個文件對照一下就明白了。413 Request Entity Too Large是老生常談。上傳文件時報這個錯就是client_max_body_size沒配或太小client_max_body_size 20m;放在http、server或location塊里都行l(wèi)ocation里的優(yōu)先級最高。6.3 我踩過的一些坑先說一個關于if的大坑。Nginx 的if指令被官方稱為 “evil”因為它在location里和proxy_pass同時出現(xiàn)時行為很容易不符合直覺。不是不能用而是只用它做改路徑或 return不要在里面寫復雜邏輯。有一次我在if里設置變量再proxy_pass結果每次 reload 都報錯最后改成用map做變量映射才解決。再說 reload 不是“不會斷”。nginx -s reload理論上不會中斷現(xiàn)有連接但如果你的配置里改動了 upstream 地址正在處理的長連接會被切掉。所以我建議不要在業(yè)務高峰期做這種改動盡量安排在凌晨低峰期。還有一個大家都容易忽略的點改了配置一定要先nginx -t再 reload。這個習慣我強調過無數(shù)次但每個月依然能遇到?jīng)]跑測試直接 reload 導致線上配置狀態(tài)混亂的情況。反正就一條命令多敲一下不虧。最后是日志。排查問題第一件事永遠是看日志很多人習慣先猜。Nginx 的 access_log 和 error_log 分開看error.log記錄錯誤比如連接失敗、權限不足、配置文件報錯。access.log記錄每次請求狀態(tài)碼、耗時、來源 IP 都在里面。分析慢請求時在 Nginx 配置里加上$request_time字段就能從 access log 里看出哪些接口響應慢log_format main $remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for rt$request_time urt$upstream_response_time;這里$request_time是 Nginx 處理請求的總時間$upstream_response_time是后端響應時間。兩者差值大說明瓶頸在 Nginx 到后端這一段或網(wǎng)絡兩者都大基本就是后端接口本身慢。7. 最后分享一點個人心得Nginx 這個工具文檔寫得很全配置語法也不算難真正的難度在于你對自己系統(tǒng)的請求鏈路有沒有想清楚。我在生產(chǎn)環(huán)境折騰 Nginx 這幾年最大的體會是配置之前先畫清楚“用戶請求從哪進來、經(jīng)過哪些層、最后到哪臺機器哪個接口”再動手寫配置文件基本不會出大錯。每次上線前我會強制自己做三件事備份當前配置、執(zhí)行nginx -t、把 access log 打開看兩分鐘真實請求。這套流程看起來土但比任何花哨的監(jiān)控面板都好使。另外雖然我前面講了不少進階功能但如果不是業(yè)務需要不要為了炫技硬加功能。配置每多一層故障面就大一分保持“夠用且可維護”才是最好的狀態(tài)。如果后面有機會我打算再單獨寫一篇關于 Nginx 與 keepalived 高可用、以及 HTTP/3 QUIC 實戰(zhàn)部署的內(nèi)容。你們在配置 Nginx 時遇到過最詭異的問題是什么歡迎留言交流說不定下一篇文章就是專門為你排坑寫的。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天插天天插天天插天天插| 色爱综合五月| 色婷婷色情| 99精品视频在线观看| 人人舔人人色人人高潮| 久草大| www免费在线视频| 大香蕉久久婷婷| 国产裸舞福利资源在线视频| 九九热99视频| 大香蕉99热| 国产肥白大熟妇BBBB视频| 99热亚洲精品| 日本久久爱| 99久久精彩视频。| 黄网在线播放| 日本91在线| av五月天婷婷丁香| 国av网| 91热爆在线| 性日本精品| 人人草成人视频| 婷婷丁香91| 丰满少妇猛烈A片免费看观看 | 狠狠色情婷婷| 插插插丁香五月婷婷| 日本久久精品18| 综合在线观看99| 另类图片五月天| 婷婷99狠狠| 婷婷五月天综合久久| 精品一区二区三区四区五区六区介绍| 五月丁香网视频| 射久久丁香五月| 欧美综合激情| 伊人激情综合| 九九超日本| 色欲色欲久久宗合网| 日韩成人精品中文字幕| 欧美日韩99| 99热这里有精力| 夜色综合网| 79精品视频| 国产在线另类五月婷婷| 五月丁香六月综合基地| 日本色五月| 婷婷色5月激情网| 丁香5月综合啪啪| 激情小说五月天社区丁香| 999精品乱码77777| 久热这里只有精品性色AV| www色婷婷| 91婷婷丁香| 大香蕉五月婷婷| 婷婷午夜丁香| 丁香婷婷五月天色综合| 久久这里只有欧美| 久青操| 久久精彩免费视频| 九九热在线精品视频| 日本色99| 国产毛片欧美毛片久久久| 91操操| 91超碰人人操| 雪千夏麻豆| 五月婷婷很很色| chaopeng在线人人| AV操逼网| 99热九九在线| 午夜成人网站在线观看| 国产69久久久欧美黑人A片| 天天射影院| 欧美成人AAA片一区国产精品| 亚洲中文字幕AV在线| 97碰碰免费.视频| 六月丁香婷婷大香蕉| 久久国产高清| 九九热只有精品6| 婷婷五月天伊人网在线观看视频| 五月天激情视频| 综合99久久天天综合| 婷婷狠狠狠爱| 影音先锋噜一噜| 亚洲Va成人| 99热这里只有精品69| 五月丁香婷中文| 热思思| 夜夜大香蕉婷婷丁香| 99九九久久| 2018国产大陆天天弄| 日产精品一线二线三线芒果| 97极品在线| 丁香五月情色| 99色在线观看视频| 天堂婷婷综合| 五月丁香婷婷无码中文| 久re热视频| 天天爽天天操| 激情另类综合| 天天操综合网| 97碰碰免费.视频| 《久久综合九色综合97婷婷| 久久精品小视频| 五月婷婷六月激情| 美女被肏网站在线看| 操操天堂| 丁香五月天啪啪| 亚洲国产99| 99只有精品9| www.色综合.com| 久久九九99字幕| 丁香久久五月婷综合| 99热这里| 久久久久久久综合狠狠综合| 丁香五月婷婷色情综合| 色五月婷婷激情基地| 成人五月天在线视频在线观看| 精品成人a v无码内射| 高清无码网址| 91啪啪视频| 五月天激情网开心网| 人妻内射视频| 91狠狠综合久久久| www.精品99| 91黄色五月天视频| 99色一| 五月丁香综合激情| 久久激情视频| 色婷婷丁香| 99ri国产精品| 久久婷婷综合五月天| 精品亚洲国产成AV人片传媒| 婷婷久久免费看| 亚洲激情视频在线观看| 日本啪啪网| 深爱五月日韩| 亚洲AV永久无码影院黑人| 婷婷色色综合激情| h在线看免费版在线看| 91热99| 婷婷五月天狠狠色| 婷婷五月色综合| 婷婷五月天激情基地| 中文字幕日产A片在线看| 亚洲精品成人| 九九在线精点品| 久久伊人婷婷| 国产激情久久| 色月视频| 在线sebiav精品视频| 久久婷婷色丁香| 五月婷丁香花| 久久XX| 日韩不卡DvD| 伊人婷婷五月天| 色婷婷丁香花五月天| 99九九精品视频推荐| 五月色婷婷中文字幕| 五月婷婷精品视频| 五月天开心色情网| 丁香五月天激情五月天激情五月天激情网| 日韩九九| 激情五月婷婷中文字幕| www.色色com| 丁香婷婷五月| 九久9精品| 天天噜噜| 国产精品A片| 熟女色色一区二区| 五月丁香色综合| 色婷婷影音| 99超级碰碰| 淫视馆aV二区一区| 婷婷综合性爱网| 高清无码中文字幕aVDV| 99啪在线| 99热 在线观看| 五月婷久久| 99在线观看视频蜜臀| 精品夜夜澡人妻无码AV| 播播网色播播| 亚洲精品乱码久久久久99| 人人爱操| 九九热这里| 啪啪操超碰| 国产成人+综合亚洲+天堂| 五六月婷婷| 大香蕉久久视频久久视频 | 777米奇影视第四色| 区区欧美你爱| 天天做天天爱天天搞| 中国丰满熟女A片免费观| 深爱网深爱综合网| 中文字幕,综合,91| 欧美成人精品A片免费一区99| 亚洲成人乱码av网站| 亚洲视频1区| 五月丁香| 久久人妻乱| 99热在线中文字幕| 亚洲AV电影美洲AV电影| 成人丁香五月| 伊人婷婷大香蕉| 五月激激网w'w'w| 97人妻碰碰碰久久久久-最近国语高清| 26uuu精品一区二区| 五月天狠狠网站| 婷婷亚洲在线| 人妻久久久| 99综合色| 天天干天天操天天干天天操天天干天天操| 一级精品999WWW| 欧美肉大捧一进一出免费视频| 激情婷婷色五月| 欧美日韩99| 五月婷婷很很色| 日韩av在线免费观看| 就爱啪啪婷婷| Se.婷婷五月天| 婷婷九色| 9久热在线精品| 色色色综合| 婷婷色五月天在线| 五月四色婷婷| 精品无码人妻一区| 成人操呦av| 超碰a女人的天堂| 亚洲激情四射色| 玖玖婷婷五月天| 色婷婷AV久久久久久久| 开心激情站婷婷五月天| 天天操九九插| 伊人五月人妻精品| 开心五月激情站| 五月丁香| 激情图片亚洲| 免费日韩99| 中文字幕在线免费观看视频| 九色91视频| 婷婷丁香综合色AV| 久久五月热| 96精品成人无码A片观看金桔| 五月天成人综合| 涩综合婷婷| 操日挥操日日| 色五月婷婷五月天激情综合| 日韩视频99| 天天干天天干天天干天天干天天干天天| 久久久激情| 久久最新色| 久久五月婷综合网| 久久天堂精品| 色五月色图| 99九九中文字幕视频| 极品五月天| 97人碰人操| 亚洲中文字幕AV在线| 内射爽无广熟女亚洲| 综合色播| 不卡在线视频| 九九热99在线视频| 综合色影院| 久久婷综合网| 亚洲五月天第一综合干| 天天在线久久综合 | 超碰日日操| 天天色粽合合合合合合合| 99er精品视频| 91热在线| 无码少妇高潮喷水A片免费| 五月婷婷影院| 97碰碰草| 999热在线视频| 97色碰| 久久网站免费亚洲| 天天橾日日橾夜夜橾17| 婷婷五月天色播| 婷婷五月激情六月| 色五月婷婷av| 亚洲精品又粗又大又爽A片 | 婷婷丁香色性爱| 超碰色女人| 七七九色| 26uuu激情五月天| 激情五月www| 五月丁香婷婷综合视频| 99热这里全是精品| 久久久精品免费啪啪国| 9月色婷婷| 综合大香蕉| 九九视频网| 99热日| 国产婷婷五月| 草草视频91| 5月丁香综合网| 99热99热| 亚洲日日日| 香蕉AV777XXX色综合一区| 丁香花大香蕉婷婷综合| 欧美婷婷日本| 亚洲AV成人无码久久精品老人法拉利| 国产99久久久| 97色一二三| 久久婷婷网| 69五月天视频| 婷婷五月天黄色| 欧美丰满熟妇BBB久久久| 草榴视频黄色网| 香蕉综合在线| 亚洲天堂aaaa| 另类小说激情五月天| 91久久五月天| 91精品刘玥| 国产成人高清| 激情五月天综合| 婷婷天天日婷婷| 婷婷五月综合中文字幕| 天天摸,天天爽| 激情欧美五月丁香| 欧美三级巜人妻互换| 婷婷99丁香| 五月天婷亚洲天综合网综合 | 91色在线 | 日韩| 99久久婷婷国产综合精品草原| 9l视频自拍九色9l黑人| 开心五月丁香综合久久| 五月婷婷六月丁香| 99热亚洲| 婷婷五月精品中文字幕| 色色色色色综合| 日韩五月天婷婷| 97色97干| 色婷婷色情| 丁香五月天天高清在线| 成人在线观看国产| 森林影视大全,最好看的2019年视频| 色综合久久44| 婷婷射图| 久久三级视频| 99丁香五月婷| 婷婷射综合| 丁香色五月天| 婷婷激情五月视频| 亚洲热热视频| 日本在线wwww| 五月天精品| www.99操.com| 久久久久久人妻久久久久久久久久人妻久久久 | 五月四色婷婷| 五月婷婷很很色| 色婷五月天亚洲| 狠狠综合网| 婷婷五月天影院| 极品另类| 亚洲国产成人综合| 五月丁香综合激情| 天天色天天爱天天舔| www.91色| 噜综合| 婷婷天天色| 9人人操人人看| 久久99热免费最新版| 大香蕉婷婷婷| 爽天天天天天天天| 日韩色久| 噜噜五月天综合| 国产67194| 九九九九毛片| 99丁香五月婷| 亚洲狠狠终合停停终合| 99热这里有精力| 久久探花91swag| 情婷婷五月天| 啪啪黄页网| 九月综合| 久久99这里| 国产成人精品一区二三区熟女在线| 91操色| 欧美激情综合五月色丁香| 五月丁香六月婷婷综合网| 九九日伊人| 久久这里有精品视频| 亚洲99一级无嗎特制在线| 婷婷丁香人妻天天| www.超碰在线| www.色五月| 亚洲人成人五月天| 亚洲五月天婷婷| 五月婷婷影院| 婷婷六月丁香欧美视频在线| 久操大香蕉| 亚洲精品无码一区二区| 婷婷五月天无码| 中文字幕日韩成人| 综合色、色综合| 五月婷婷天天| 九九这里只这里只有精品| 五月丁香六月激情网站| 91婷婷搞| 色5月婷婷| 干一干xxxx| 中文AV网| 噜噜吧天天爱| se99在线| 婷婷久久五月丁香| 丁香婷婷综合影院| 这里只有精彩视频| 综合色激情| 久久九区| 青青草Avb在线| 夜夜爱网站| 婷婷综合六月| 婷婷九月激情| 婷婷精品免费久久| 亚洲天堂碰碰婷婷| AA片在线观看视频在线播放| 婷婷五月天影院| 五月天伊人av| 五月色丁香| 久久综合99综合| 99久久极情精品一区| 色色色色热热| 久9热在线视频| 亚洲色欲欧美一区二区三区| 伊人狠狠丁香婷婷综合尤物| 丁香影院五月综合| 成人无码精品1区2区3区免费看| 极品人妻VideOssS人妻| 色人妻五月| 狠狠色噜噜狠狠色噜噜噜999| 99在线播放| 777精品久无码人妻蜜桃| 四月婷婷五月丁香| 99热免费精品| 热99只有里视频| 五月激情丁香久久综合网| 2015超碰| 9999热在线免费观看| 国内一级片| 伊人激情影院| 亚洲这里只有精品| 亚洲操逼网| 婷婷丁香人妻天天爽| 亚洲婷婷五月草久| 五月天快乐开心激情网| 久久精品爱爱| 亚洲国产精品成人免费一区久久久在线观看AAAA | 亚洲小视频免费看| 色情综合| 99热精品中文字幕| 色吧五月婷婷| 99热一区| 激情视频网址| 欧美成人AAA片一区国产精品 | 久久久婷婷五月天| 七月丁香婷婷 色色| 思思久久99热只有频精品66| 成人无码髙潮喷水A片| 开心五月婷婷激情| 婷婷丁香六月| www.五月天| 九九热视频在线观看| 久久婷五月天| 久久性爱视频| 第四色在线观看| 国产精品久久久久久久久久免费| 全部老头和老太XXXXX| 久月丁香爱婷婷综合| 99re久久| 精品久久人妻热| 丁香五月综合色婷婷| 婷婷五月天美女| 精品在线| 99久久99热这里只有精品| 五月婷婷久久内射| 天天操夜夜橾| 9久热在线视频精品| 婷婷五月天亚洲综合| 91凹凸在线| 免费亚洲婷婷中文字幕| 九九久久精品| 无码碰碰| 五月丁香黄色| 激情五月深爱五月| 丁香六月婷婷姐网| 婷婷色丁香五月| 久久六月综合| 五月婷婷电影院| 99热人人操人人操| 五月婷婷片| 99这里有精品| 国产三级在线播放| 成片免费播放| 爱婷婷久久视频| 六月婷婷在线| 人妻久久久久久久| 亚洲精级| 狠狠色婷婷777| 日韩黄黄| 婷婷五月天美女21p| 亚洲综合色色| 五月婷婷伊| 欧美日韩国产一区| 丁香五月婷婷亚洲综合精品在线| 激情五月五月婷婷| 99综合网| 亚洲欧洲午夜成人精品av| 开心婷婷五月激情网小说| 五月丁香六月情亚洲| 九九热视频在线观看| www.夜夜| 欧美成人日韩| 狠狠色噜噜狠狠狠狠狠色综合久久| 99免费青青蜜臀| 99惹在线精品免费观看| 欧美色婷婷| 欧美日韩成人在线| www.色婷婷.com| 五月天色婷婷视频| 人人操91| 超碰97色| 思思热久久久久思思热| 久操人妻| 久久 无毛。| 色婷婷五月天激情久久| 五月婷亚洲精品AV天堂| 9999热在线| 天天综合久久| 99精品在线观看视频| 激情都市另类| 99热无码精品| 99在线观看视频| 蜜乳AV成人| 婷婷五月丁香六月伊人网| 狠狠操狠狠操| 丁香五月天堂亚洲社区| 九九九午夜影院成人| 亚洲AV网站| 人人操碰| 色婷婷色人人射| 天天日日夜夜| 国产婷婷色五月| 五月综合激情| 色噜噜五月丁香婷婷| 亚洲小说欧美激情| 欧美性色A片免费免费观看的| 99免费热视频在线| 五月激情婷婷国产精品久久久久久| 欧美日韩精品人妻狠狠躁免费视频| 五月婷婷综合激情网| 丁香六月婷婷综合缴| 超碰免费成人网站| 久99| 精品福利911| 丁香五月电影| 五月婷婷色综图片| 国产成人高清| 色婷婷五月天成人网| 中文字幕乱轮| 婷婷五月在线| 五月婷婷激情综合网| 色啦啦视频| 狠狠色情婷婷| 综合欧美五月婷婷| 五月开心深深爱激情综合| 亚洲情综合五月天| 中文字幕 久久9999| 精品夜夜澡人妻无码AV| 青青草深爱激情网| 天久综合91综合首页| 日本五月丁香| 大香蕉伊人丁香五月| 五月开心婷婷| 天堂呦 呦百度搜索-百度搜索| 激情综合网亚洲色图| 免费看欧美成人A片无码| 美女婷婷六月色| 无码人妻少妇色欲AV一区二区| 开心 五月 综合| 9久热| 婷婷深爱五月天在线| 国产做A爰片毛片A片美国| 性小说五月天| 五月激情婷婷女| 久久婷婷青青| www.色婷婷.com| 啪啪丁香五月| 激情丁香五月| 天天干天天色天天干| 精品99*| 婷婷五月天精品| 天天操五月天| 操骚货在线| 极品 少妇 内射| JlZZJlZZ8JlZZ亚洲熟女| 国产婷婷五月色情综合| 久久五月网| 操碰91| 婷婷网五月| 婷婷丁香五月天大香蕉| 六月激情婷婷| 久久五月婷天天干| 久9无码视频| 美女五月天| 欧美性丁香色色五月天| 丁香五月天激情四射网络不好 | 校花娇喘呻吟校长陈若雪视频| 色性日本| 超碰九九热| 大地资源色婷婷视频在线| 五月婷婷啪啪啪啪| 色欲av伊人久久大香线蕉影院| 欧美性猛交 XXXX 乱大交| 丁香五月综合网亚洲综合欧美狠狠| 婷婷五月天AV在| 五月婷婷深深爱| 亚洲天天综合| 色婷婷基地在线| 五月婷婷黄网站大全| 成人av播放| 婷婷五月天深爱| 丁香五月激情网| 51精品国自产在线| 91色涩| 五月丁香色狠狠干大屄| 亚韩在线视频| 成人无码中文| 九九色色| 欧美在线干| 91色情播放| 色狠狠999综合网| 99视频91| 婷婷五月天性色| 久久停停超碰| 色丁香五月| 天天插天天很| 无码色色色色色| 婷婷色五月天色| 亚洲字幕AV一区二区三区四区| 香蕉视频91| 天天操夜夜爱| 天天操九九插| 天天综合激情| 97色干| 九月av| 9l视频自拍九色9l黑人| 亚洲妇女熟BBW| 日本不卡中文字幕| 五月天婷婷视频小说| 奸逼视频| 五月久久噜噜| 开心五月婷婷五月| 亚洲综合五月天婷婷丁香| 99久久五月婷婷| 亚洲欧洲另类图片| 国产亚洲成AV人片在线观黄桃| 色玖玖综合网| 五月停停999| 日日噜噜夜夜狠狠久久丁香六月| 日日夜夜天天爽| caopeng97日韩| 好好日激情五月天| 五月天激情网图片 - 百度| 婷婷激情五月| 狠狠搞五月天| 午夜丁香丁香婷婷| 视频这里只有精品| 日日骑夜夜撸| 激情com| 思思99热在线| 丁香五月激情综合在线观看| 五月婷婷少妇之| 色色婷五月天| 九九草热在线观看| 快色t v在线入口| 五月天婷a| 五月精品免费XXX| 久久机热思思热| 99日这里只有精品| 激情五月六月婷婷| 五月婷婷六月激情| 99久久99九九99九九九| 少妇综合网| 丁香六月婷| 国产精品a无线| 日本一级黄色片。| 国内9l视频自拍老熟女九色| 伊人三级激情| 五月丁香六月香香蕉| 国产日比| 婷婷五月天,影院| 色五月色综合| 五月丁香激情婷婷| 亚洲婷婷丁香| 99视频自拍| 亚洲 在线 另类| 国产特黄色精品一区二区三区精品无广告| 色综合五月| 67194中文字幕| 无码se| 婷婷丁香水多多视频| 色婷婷九月| 精品色色| 久久婷婷五月综合| 免费色婷婷| 久久电影4399| 26uuu.| 亚艹艹| 大香蕉婷婷色| 99燥99日| 99riAV国产精品视频| 色色综合成人网| 五月开心激情网| 婷婷色五天| www.五月天婷婷| 亚洲99热| 99免费综合网| 国产精品热搜丁香五月婷婷| 99啪啪| 五月停视频天堂| 九九99九九99偷拍视频免费看| 激情五月激情综合网一级丸片| 开心五月激情五月丁香五月婷婷| 超碰资源在线| 九色综合网| 无码区婷婷五月花开| 激情影院免费视频婷婷五月天| 丁香五月婷婷AV在线| 五月香婷婷| 九九色院| 天天射天天射一道本日本社区 | 亚洲婷婷五月天| 伊人影院久久网| 国产99美少妇| 玖玖午夜视频| 久草丁香婷婷1024| 五月开心婷婷极品激情| 中文AV网站| 国产精品涩涩涩视频网站| 99热1| 色综合久久88色综合天天| 国产日韩欧美性爱| 久操干| 性日本精品| 国产午夜成人AV在线播放| 色99热| 五月色色激情网| 最近中文字幕2019视频1| 久久女人天堂| 婷婷五月在线观看| 色婷婷yy久| 婷婷丁香高潮了| 欧美色婷婷| 99亚洲视频| 久久偷拍综合五月天| 麻豆AV一区二区三区| 99爱视频精品在线观看| 91久久综合亚洲鲁鲁五月天| 狠狠色婷婷色| 九九热这里只有精品31| 亚洲成人AV高清字幕| 狠色综合网| 九九激情综合| 五月婷婷中文字幕| 欧美天堂久久| WWW,五月| 久久五月激情综合| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 久久综合久色欧美综合狠狠| www.99热日韩.com| 婷婷免费视频| 九九色中文| 婷婷五月综合网| 另类 在线| 久久人妻精品| 色偷偷色婷婷| 任你爽免费视频| 9热视频在线观看| 五月婷婷亚洲| 久久激情网| 五月丁香免费看| 五月色视频| 五月丁香啪啪网| 国产阿姨日皮艹逼内射视频| 亚洲日韩乱码一区二区三区四区| 99色啊| 熟妇人妻中文字幕无码老熟妇| 99热九九这里只有精品10| www.天天干| 91啪级电影| 五月花亭亭| 99欧美热| 狠狠干天天日| 婷婷五月香蕉| 国产激情综合五月久久| AV 3P| 日韩av免费版| av人人干| 九九精品视频免费在线| 激情网五月天| 婷婷中文字暮| 小色小蛇伊人婷婷色香五月| 99热偷拍| 婷婷五月天激情综合| 激情五月四色| 成功精品影院| 婷婷综合激情| 亚洲无AV在线中文字幕| 婷婷瑟瑟五月天| 男人的天堂五月丁香| 五月激情婷婷在线| 久久99热 这里有精品| 久久综合55| 激情婷婷久久| 国产精品噜噜在线视频| 天天肏视奸| 熟女激情网| 五月丁香六月色情网欧美| 99精品九九| 丁香五月色色| www.日韩艹| 久久婷婷网站| 五月婷婷播| 五月天丁香看婷婷| 五月天激情电影| 激情五月天婷婷视频| 大香AV| 色色色欧美| 五月婷婷在线免费观看| 欧美va精品va老师va| 日本久久九| 超碰99在线观看| 婷婷香五月| 久久五月视频| 久久男人网婷婷| 色色色免费视频| 激情五婷网| 五月激情丁香五月| 婷婷影院欧美| 免费视频WWW在线观看网站| 狠狠插狠狠操| 五月天色婷婷视频| 97久久精品| 五月丁香六月综合图| 五月婷婷无码| www.99热这里精品| 国产日日夜夜操| 丝袜人妻| 九月丁香八月婷婷久久综合久97| 色99视频| 国产成人网站在线观看| 激情婷婷网| 99亚洲综合| 五月丁香激情四射| 丁香五月天日韩无码| 久久久97| 亚洲黄色精品| 日日夜夜天天综合| 韩国婷婷丁香五月| 人妻性爱av网站| 久久综合色五月| 婷婷丁香五月天激情四射| 日本丁香五月| 91色涩| 79精品视频在线观看,| 开心五激情网| 婷婷激情五月天网站| 久久婷婷五月天激情四射| 亞洲自怕| 欧美三9久九观看| 成人AV在线电影| 综合大香蕉| 九九在线精点品| 99精品视频推荐| 大香蕉 婷婷| 性做爰1一7伦| 五月丁香狠狠爱| 在线综合网| 色噜噜狠狠色综合日日| 色婷婷a| 97干婷婷| 丁香五月婷婷综合精品素人| 亚洲日日日| 天天爱夜夜爽| 狠狠五月激情丁香六月| 操射国产日本| 日韩十国产极品久久| 亚洲女婷婷五月基地综合久久久| 免费99情趣网视频| 色播五月婷婷综合| 色色色99韩| 五月婷婷六月丁香综合视频在线| 色五月婷婷激情综合网| 久热久色| 丁香五月婷婷动漫视频| 五月天免费色| 激情五月亚洲综合网| 五月丁香综合啪啪対白| 99色热视频| 天天狠狠色综合| 夜夜骑天天玩天天日| 99热在线免费| 五月婷婷五月天在线| 26uuu成人网| 免费97碰碰| 亚洲综合五月天婷婷丁香| 久久婷婷热| 操骚货在线| 激情网五月天| 九九丁香社区欧美激情| 九九99九九精品视频| 久久婷婷草| 99在线视频播放| 五月婷婷深深的爱| 激情五月天无码| 五月激情五月婷婷五月天在线| 五月婷婷色激情| 99无码精品| 久久综合爱| 激情久久久| 97碰碰久久| 天色综合网| 五月丁香香蕉| 玖玖资源网站最新站| 人人爽欧美婷婷久久久五月丁香| 激情综合五月| 日日干日日| www.玖玖九| 亚洲 视频 导航 一区| 五月天婷婷三级黄| 激情丁香五月婷婷啪啪| 色色五月天婷婷丁香| 91操碰| 一区二区三区四日本| 久久五月天免费网站| 丁香五月综合| 色综合综合色| 综合久久高清| 最近中文字幕2019视频1| 中文字幕91,综合| 婷婷色五月丁香六月欧美啪| 狠色狠色狠色狠色狠色网| 99热免| jiZZdr| 中文字幕精品推荐免费在线观| 97色色色| 这里只有精品在线免费视频| 色色五月天丁香| 国产AV影片| 五月天天堂久久| www 五月天 com| 久久新地址| 日韩三十六页| 久久er视频6| 五月婷婷天| 色五月婷婷久久| 99热高清在线| 五月五丁香婷婷| 亚洲婷婷91丁香| 4399啪啪视频| 亚洲黄色影视| 538在线精品| 伊人激情AV一区二区三区| www.99精品视频| 色狠狠综合网| 九九婷婷网五月天| 九九久久免费视频44| 五月丁香六月欧美综合| 亚洲视频操| 久久看九九90| 五月天合网 | 99久在线精品99re8| 婷婷五月综合中文字幕| wwxx日本| 婷婷的99视频网站| 超级97碰碰| 精品一区二区三区木瓜| 人妻久久久久久久 | 99热官网| 亚洲第一成人无码A片| 色婷婷社区| 亚洲第一成人无码A片| 色999亚洲人成色| 五月天伊人久久久久| 亚洲黄网在线| 婷婷色播综合五月| 人妻久久久久久久| 激情久久肏屄视频| 五月天精品| 九九热青青草| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪| 日韩成人免费电影| 五月丁香婷婷色| 成人av在线电影| 无码yw| 色婷婷亚洲婷婷| 婷婷日本色| 亚艹艹| 日本天堂网站99| www夜夜操wwwcon| 97在线观视频免费观看| 五月丁香拍拍激情综合| 99ri在线视频| 亚洲精品va| 99精品热| 久思思久视频| 91一起操| 蜘蛛女免费观看完整版高清电影| 久久精品这里只有精品免费首页| 日日噜噜夜夜狠狠久久丁香六月| 五月天婷婷免费| 亚洲天99| 伊人久久婷婷| 狠狠干综合| 可以看的av网站| 久久最新色色色| 丁香九月婷婷| 人人摸人人射| 激情涩播| 五月激情五月婷婷五月天在线| av网站免费在线| 国产成人+亚洲+欧洲| 操逼综合激情网| 狠狠草狠狠草| 丁香久月婷| 97av在线视频| 五月婷婷深深爱爱| 国产美女无遮挡裸体毛片A片| 六月丁香激情最新更新| 丁香六月婷婷基地| 日韩九九| 操日视频| 九九色热| 五月天婷婷乱| 人人操大| 99人碰碰碰| 精品无码av丁香五月激情| 99re热视频这里只精品| 五月婷AV| 射区导航| 丁香五月欧美| 婷婷六月色情| 9婷婷内射| 97人人操人人干| 月婷婷亚洲| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 天天操婷婷| 久久黄A片| 中文字幕丰满孑伦无码专区| 五月成人天| 综合色99| 91 欧美| 五月天色综合| 亚洲人成网亚洲欧洲无码久久| 性生生活大片又黄又| 六月婷婷五月天| 婷婷五月丁香av网站| 黄色片avv| www.91.com黄| 日日干日日s| 日本久久99久久| 99无码视频| 99视频| 第2色五月婷| 潮汕成人AV片在线| 色99网| 天天插天天操| 色婷五月婷婷| 加勒比久热| 精品久热| 色综合另类| 五月婷婷色男女| 四季AV综合网| 久草热久草在线视频| www.夜夜操.com| 激情五月综亚网| 久青操| 激情综合视频| 99热这里精品| 99色性爰网络| 热久久99视频| 综合视频久久| 九九艹女| 丁香五月婷婷基地| 五月丁香色婷婷久久| 99精品爱| 天天 青草 制服丝袜 在线 | 色情一区二区播放| 五月婷在线| 九九九九成人| 亚洲日韩成人三级av| 婷婷伊人綜合中文字幕小说| 青青草激情网| 天天操夜夜玩!| 色五月丁香六月资源站| 色五月婷婷激情基地| 亚洲三A| 五月天婷婷基地| 成人婷99最新| 99热成人| 色色综合色| 色五月视频无码播放| 五月婷丁香花| 色色免费网站| 九九色院| 激情文学 综合 九月| www。久久久久一b。Cc| 亚洲va综合va国产va中文| 99干视频| 婷婷五月丁香色综合| 婷婷五月激情在线视频| 婷婷日日天天| 五月婷无码| 亚洲国产色婷婷| 色婷婷丁香| 五月丁香久人妻中文| 九月色婷婷综合| 欧美三级大片AA在线看| 在线视频婷婷| 久操欧美在线观看97| 97五月天| 亚洲色啪| 狠狠狠狠狠狠| 五月丁香综合激情| 在线只有精品| 99在线精品视频| 五月丁香综合激情| 思思热视频在线| 久久婷婷视频| 日韩另类| 亚洲综合激情五月久久| 久99久视频| 超碰久热| 婷婷五月天综合网| 亚洲无AV在线中文字幕| 99在线免费观看| 大地9中文在线观看免费高清| 欧美精品99久久久| 99re6在线视频精品免费| 九九热精品| 国产做爰视频免费播放| 免费看成人AA片无码视频吃奶| 久草热久草在线视频| 欧美内射AAAAAAXXXXX| 农村熟妇高潮精品A片| 青青草免费公开视频| 国产午夜伦鲁鲁| 五月四色激情| 亚洲第一影院高清无码网站| 五月叮香啪| 超碰操网| 久久久久婷婷五月热综合| 婷婷丁香五月精品| 午夜电影网VA内射| 九九婷婷网五月天| 色婷久九| 直接看的AV| 激情又色又爽又黄的A片| 国产精品美女久久久久AV超清| 91麻豆国产三级精品福利在线观看| 亚洲AV久久久久久久久久久久久久久久 | 大香蕉九九| 蜜桃婷婷丁香五月天狠狠久久综合| 色五月丁香激情视频| 亚洲丁香五月| 五月婷婷丁香| 久久人人妻| 色吧婷婷五月亚洲| 亚洲AVwwwwwww| 婷婷五月天综合网| 美女婷婷六月色| 毛片色五月| www色婷婷| yazhoujiqingav| 久久激情五月网| 婷婷激情五月天激情在线| 99热综合在线| 嫩草AV久久伊人妇女超级a| 婷婷综合网| 婷婷五月天激情四射| 天天射网站| 伊人九九热| 欧美美女国产日韩一区二区久| 五月婷婷自拍| 亚洲AV网站| 九月丁香久久网| 激情五月天综合网| 色婷婷成人在线| 五月综合视频| 极品少妇高潮啪啪AV无码| 亚洲久艹| 五月丁香色婷婷婷基地| 91人人爽久久涩噜噜噜| 丁香五月电影| 婷婷日本在线| 久久草人妻| 天天摸天天舔| 色婷婷丁香A片区毛片区女人区| 伊人青涩网| 丁香无五月网| AVDV久久| 538在线精品| 九九99免费理论| 思思热国产在线| 久久天天| 大香蕉 伊人夜| xxx日本东京热| 五月丁香影院| 91趴趴| 天天婷婷操| 激情久久综合| Caoub青青超碰| 丁香五月瑟瑟| 97久久久久| 国产成人亚洲综合亚洲| 色狠狠伊人久久五月丁香| 日本美女上人| 色色色丁香| 国产精品噜噜在线视频| 成人 在线 日韩| 色九九丁香九月色九九色| RenRenSe在线视频网站| 91久热| A级毛片高清免费不卡播放谢谢谢谢| 狠狠色无码| 99热精品在线观看| 97婷婷狠狠| 婷婷五月天亚洲| 丁香8月手机综合| 久久久er热| 这里只有精品1| 在线天堂9| 极品人妻VideOssS人妻| 综合色七七| 婷婷丁香五月激情中文字幕版| 日韩AV大全| 99日本黄站| 久久九九色| 夜色.cnm| 99综合免费视频| 日韩一区二区A片免费观看| 青青草原中文字幕| 120分钟婬片免费看| 日韩人妻在线观看| 五月婷婷,狠狠操| 97自拍99| 五月丁香婷婷深深爱| 丁香9月婷婷| 79色色| 任你干线上免费视频有3吗| 婷婷激情五月综合丁香社| 草了bav视频在线观看| 中文人妻主播久久| 99热思思| 99色最新在线视频| 午夜丁香| 这里只有精品视频在线观看免费| 亚洲国产精品VA在线看黑人| 日本99热| 天天影院色| 天天日天天狠狠操| 久久婷婷精品| 婷婷六月开心网| 综合六月久久| 婷婷丁香人妻天天| 九九99在线视频|