欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,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
返回資訊列表
www.激情五月天。com| 丁香五月亭亭六月综合激情网| 综合婷婷五月天| 99久久婷婷国产综合| 婷婷久久大香蕉| 日逼免费视频 | 琪琪色五月婷婷老师| 饮料下药迷倒漂亮女同事强干| 日本久热| 婷婷综合日本| 精品综合网在线| 久久激情五月婷婷| 玖玖五月| 五月天社区婷婷丁香社区| 99re这里只有精品99| 伊人超碰在线| 婷婷综合在线网| 日本高清久久| 婷婷啪啪| 五月天成人综合| 国产精品婷婷午夜在线观看| 色五月天在线| 人人人操B超碰| 五月色婷婷亚洲| 亭亭五月基地在线| 国产午夜精品一区二区| 亭亭五月基地在线| 六月丁香停| 九九无码AV| 91丨九色丨国产打屁股| 国产精品国产| 99久久99九九99九九九| 六月丁香五月天| 欧美激情综合色丁香婷婷五月天| 婷婷五月情天| 五月丁香六月婷婷综合网站| www激情婷婷com| 亚洲熟妇AV综合网五月丁香伊人 | 五月婷婷xxx| 九月婷婷综合在线| 五月丁香婷婷综合视频| 狠狠色噜噜狠狠狠狠综合| 亚洲激情六月| 影音先锋 一区| tingtingseav| 丁香五月天狠狠操| 婷婷久热| 五月天婷婷日日爱| 丁香婷婷久久老熟女综合网| 人人草人| WWW.17C亚洲精品| 婷婷五月激情五月激情| 色欧美影院| 丁香六月婷婷色XXXXX| www.色窝| 色婷婷五月天小说| www.五月天婷婷| 婷婷六月综合基地| 天天精品视频免费观看| 亚洲V国产V欧美V久久久久久| 夜夜爱网站| 丁香五月香蕉| 色爆五月| 9月色婷婷| 超碰精品国产首页| 激情六月丁香综合| 久久久久思思热| 玖玖资源天天无码| 亚洲一区二区无遮挡A片| 丁香婷五月天开心六月| 久99久视频| 香蕉久久国产AV一区二区| 超碰人人操在线| 五月色综合| 天天插天天射| 亚洲成人在线观看网址| 综合五月草| 亚洲AV激情五月综合网| 色五月丁香五月| 丁香五月婷婷激情尤物| 国产精品涩涩涩视频网站| 国产小精品| 五月婷婷丁香日韩在线| 色欲影香| 五月天自拍网| 欧美精产国品一二三区| 国产欧美性成人精品午夜| 狠狠色中色| 五月婷在线影院| 日本色噜| 91凹凸在线| 激情综合网色播五月| 99精品在线观看| 91九色PORNY肉丝在线| 夜夜AVV| 台湾无码A片一区二区| 99综合网| 五月综合激情网| 婷婷网五月天| 在线中文亚洲| 天天久| 丁香六月啪| 无码AV免费精品一区二区三区| 久久久久久婷| 五月婷色丁香| 丁香五月婷婷五月| 丁香亭亭久久| 大香蕉婷婷丁香视频在线| 免费看欧美成人A片无码| 色色五月激情| 女人天堂 AV| 任你艹| 伊人久久丁香五月91| 亚洲av网站| 5月丁香六月婷婷| 婷婷的久久网站| 草草女人亚洲| 丁香六月色情| 亚洲操逼网| 天天综合网~91综合网| 六月丁香五月天| 五月丁香婷婷综合| 日韩免费乱轮网站| 天天插天天干| 久久久精品视频79| 亚洲操人| 五月婷中文字幕| 婷婷五月深深爱| 99热欧美| 婷激情五月天视频导航| 26uuu| 久久综合香蕉国产国产蜜臀AV| 97亚洲色 torrent magnet| 婷婷丁香五月综合免费视频百花| 大香蕉 伊人夜| 蜜臀嫩草| 亚洲AV永久无码影院黑人| 丁香婷婷射| 大香蕉人妻| 婷婷五月综合色中文字幕| 丁香婷婷五色月| 五月天婷婷综合网| 中文字幕丁香五月| 91在线观看九区| 午夜青草资源| 高清a片基地| 天天拍天天做视频| 中文字幕有多少字| 人人操人人爱丁香五月| 欧美成综合在线观看| 天天日夜夜操五月| 狼人伊人干| 五月天婷婷成人资源站| 99精品综合在线| 97婷婷丁香五月| 性做久久久久久久免费看| 中文字幕在线观看视频www| 色色色地址| 亚洲啪啪精品| 色婷婷导航| 91色噜噜狠狠狠狠色综合| 五月天婷婷激情在线色图| 大香蕉福利导航| 一区二区三区四区无码| 日熟女| 婷婷激情综合| 99热大全在线观看| 国产av第一专区| 狠狠狠狠狠操| 久热91精品| 激情丁香九九五月综合网| www色综合亚洲92| 五月婷在线观看| 激情婷婷视频在线| 五月婷婷色| www.激情在线| 久热9热| 99ri视频在线播放| 五月天婷婷午夜丁香| 成人精品视频99在线观看免费| 无码G高清天| 黄色国久久| 六月丁香激情网| 六月丁香激情| 婷婷激情四射| 婷婷激情五月色综合| www久久久久| 欧美在线97| 天天弄天天爽| 玖玖五月丁香| 99精品视频在线观看| 婷婷五月天美女视频| av免费在线网站| 国产精品久久99| www,setingting| 人碰91| 免费观看的婷婷五月视频在线| 9热超碰| 五月婷婷六月丁香色| 激情五月色综合网| 国产午夜精品一区二区三区四区| 亚洲激情婷婷| 色色色在线免费视频| 日本色啪| 99久久综合网| 久久3p| se色99| 夜色.cnm| 无码成人AAAAA毛片AI换脸| 九九色视频| 99久在线视频| 成人短视频免费| 国产这里只有精品| 碰97久久| 日日爽天天| 亚洲综合在线视频| 亚洲一级AV在线免费播放| 婷婷深爱五月| 色婷精品91| 人人干Av| 五月婷婷成人网首页| www.激情com| 色婷婷在线视频| 丁香五月成人社区| 久久99免费视频| 五月天婷婷午夜丁香| 日笨久久网| 婷婷导航| 六月丁香五月天| 狠狠干无码| 色综合色综合色综合高潮| 伊人五月综合网| 内射在线CHINESE| 99玖玖免费视频| 26UUU成人网| 2018国产大陆天天弄| 五月天激情图片| 五月青青草综合| 日韩99视频| 九月激情婷婷丁香| 在线视频激情网站| 午夜九九电影| AV色五月婷婷| 色综合丁香| 欧美熟妇一区二区三区| 狠狠色综合久久久久| av国产精品| 婷婷综合网站| 亚洲综合色五月| 91精产品自偷自偷综合| 丁香五月综合无码趴趴| 激情綜合網址| 9 1超碰九色| 日日骑夜夜撸| 26UUU欧美激情一区二区| 99伊人婷婷在线| 婷婷五月丁香成人网| 嫩草AV久久伊人妇女超级A| 天天综合网在线| 激情久久五月天| 久草热在线视频| 丁香激激情网| 夜夜干天天干| 五月花综合视频| 色狠狠色狠狠| 免费啪啪啪网站| 天天操婷婷| 亚洲精品色色色| 超碰renrenai| 99爱视频在线| 91爱操| 激情五月久久| 色综合色| 亚洲电影在线观看| 五月天婷婷影院| 99久精品视频| 五月丁香综合网| 中文字幕成人| 日日操夜夜操中国无码| 大香线蕉伊人| 日日日日做夜夜夜夜无码| 有码一区二区三区| 热99久| 丁香五月瑟瑟| 婷婷色色欧美| 色就是色婷婷五月亚洲激情| 五月天久久www| 五月丁香花婷婷玉莉AV| 第四色五月婷婷| 五月激情综合网| 久久六月天| 亚洲国产精品SUV| 欧美怡红院黄站| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 日本色婷婷| 性做久久久久久久免费看| seuuu婷婷| 五月丁香久久婷| 激情五月天综合网| 亚洲久久婷婷| 激情四射五月天| 香蕉久久国产AV一区二区| 67久久| 7777精品伊人久久久大香线蕉最新版| 亚洲avjiujiur91| 激情五月天婷婷视频| 亚洲人人操| 99热这里只有精品4| 免费碰碰视频久| 五月丁香网站| 色五狠狠| 日日操天天操| 久久新地址| 翔田千里无码| 丁香五月在线播放| 免费婷婷| 天天摸天天舔| 操逼电影免费看| 久9热| 高清无码网址| 亚洲网站观看视频| 激情图片亚洲| 亚洲综合色婷婷| 成人做爰黄A片免费看直播室男男 A片试看120分钟做受图片 | 日韩欧洲亚洲| 婷婷五月天美女21p| 五月天激情四射| 91刘玥视频在线观看| 久久精品性爱视频,| 五月丁香成人视频| 色婷婷狠狠禁久久| 色婷婷六月精品| 色婷婷丁香五月| 天天操天天插天天射| 亚洲婷婷丁香五月在线| 婷婷五月天激情小说| AV网址大全在| 天天操夜夜橾| 超碰成人影视| 婷婷情色激情| 色婷婷播放| 五月天天天开心激情网| 狠狠精品干练久久久无码中文字幕 | 狠狠 久久| 怡红院99| 丁香婷婷啪啪| 五月激情精品视频| 国产99久久久国产精品免费看| www..999热久| 日韩啪啪视频| 91碰碰碰| 99色色视频| 九九热九九| 五月婷婷六月丁香| 国产99久| 噼里啪啦在线观看免费完整版视频| 99青青草| 九九無妻| 色五月av伊人| 农村熟妇高潮精品A片| 婷婷激情中文综合| 少妇被躁爽到高潮无码文| 人人爱操| 99热在线观看| 9999色色色色| 4399精品一区二区| 精品人妻伦一二三区久| 丁香五月婷婷亚洲色图| 9久久精品| 欧美内射AA| 婷婷中文在线| 天天综合天天玩夜夜玩天天玩夜夜玩| 丁香五月婷婷免费视频| 狠狠色综合精品视频在线| yw.av| 五月婷激情| 99色在线观看视频| 色色色99| 五月婷六月天| 激情久久 婷婷| 狠狠色综合网| 激情综合五月| 色欲AVV| 丁香六月婷婷综合欧美| 日韩啪| 天天干天天色综合| 五月天婷婷成人资源站| 97人操人免费视频| 99欧美| 五月婷婷中文网| 亚洲AV无码电影| 99热只有| 99久久国产成人精品| 少妇水多A片太爽了| 99成人小视频| 91久久婷婷| 国产在线aaa片一区二区99| 99re这里只有精品首页| 午夜爱插插| 麻豆AV一区二区三区| 婷婷五月激情五月激情| 人人摸人人操人人爽| 婷婷丁香五月亚洲17cao| 婷婷丁香久久五月综合| 久久婷婷东京热大香樵| 五月婷婷性爱| 中文av网站| 成人五月天在线观看| 婷色天堂| 黄网在线免费观看| www.henhengan| 色啪综合| 99资源人人| 色婷婷99| 亚洲VA口| 五月婷婷丁香色播网| 久久婷丁香五月| 国产做爰视频免费播放| WWW免费视频碰碰碰碰| 人人色性网| 亚洲色激情| 激情内射人妻1区2区3区| 成功精品影院| 国产在线另类五月婷婷| 五月婷视频久久| www.久操| 人人操人人妻| 亚洲V国产V欧美V久久久久久| 丁香美女五月天婷婷| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 综合久久97| 俺也去五月婷婷丁| 色欲天天综合网| 色五月亚洲| 五月天激情网图片 - 百度| 九九99视频精品| 天天插天天射| 97五月天婷婷午夜| 就去色色五月丁香婷婷久久久| 999热成人在线综合网| 涩玖玖免费视频| 99热国品| 婷婷丁香六月天| 无码动漫av| 丁香婷婷五月天色播| 天天操人人干| 六月婷婷啪啪| 99热精品免费| 噜噜噜久久| 五月情色天| 插少妇综合网| www.色窝| 九九九九九九九热| 亚洲五月天婷婷综合| 日日操夜夜爽白洁| 五月天伊人av| 99热这只有| 久久XX| 五月婷婷久久久久| 婷婷97色| WWW.国产| 综合激情啪啪| 综合五月草 | 九九热啪啪| 性欧美大战久久久久久久83| 五月激情婷婷女| 99亚洲综合| 天天艹天天综合网| 思思网站| 天天干肏夜夜| 日韩十国产极品久久| 怡红院精品视频久久久久久久久| 日日操天天| 婷婷五月图片小说网| 色综合色综合网| 色婷婷丁香五月天| 大香蕉久热| 国产超碰av| 一本大道嫩草AV无码专区| 精品久久艹| 九九热在线精品| 色噜噜狠狠色综无码久久合欧美| 五月综合视频| 亚洲午夜国产成人电影VA国产欧…| 色婷婷8| 色婷婷六月| 九月丁香八月婷婷加勒比| 九九色婷| 久久色五月| 国产熟女一区二区三区五月婷| 丁香五月综合久久八| 九九婷婷综合| 六月丁香婷婷综合在线| 伊人色欲五月天| 天天操电影院色狼性av| 黄色AV日韩| 色综合伊人网| 五月丁香狠狠爱婷婷综合| 99精品视频推荐| 97碰啪啪| 五月中旬婷婷丁香六| 五月丁香六月婷婷欧美综合| 99性色| 国产精品久久久爽爽爽麻豆色哟哟| 久久九九热re6这里有精品| 岛国操B不卡在线| 激情四射五月天偷偷看婷婷| 五月天色不卡| 99热这里有精力| 中文字幕永久在线| 99久在线精品99re5热视频| 欧美日韩99| 中文字幕日韩无码制服诱或| www.夜夜操| 色情婷婷| 91九色在线视频| 亚洲中文无码成人| 26uuu欧美| 久久婷婷视频| 国产激情av| 久久网思思| 婷婷的99视频网站| 婷婷激情97| 99精品这里只有免费视频| 亚洲VA在线| 亚洲国产成人在线| 欧美人人草草| 色久五月| 五月综合视频| 中文精品在| 26uuu另类| 婷婷午夜天| 九九色插| 在线播放 精品| 日韩小视频在线99| 国产 亚洲 在线| 六月亚洲婷婷6月中文字幕| 丁香五月亚综合图片| 五月天com| 亚州综合色| 99热这里只有精品2024| 北京熟妇搡BBBB搡BBBB| 99精品热| 久久综合影院 | 亚洲综合色婷婷| 婷婷5月九九| 国产精品美女久久久久AV超清| 久久婷婷五月综合啪| 热99re| 丁香五月偷拍| 狠狠做五月| 国产9色在线/日韩| 九热久| 久草五月天| 色婷五月天| AV在线免费播放| 伊人激情综合| 午夜爱爱爱成人| 色一情一乱一乱一区91Av| 亚洲天堂碰碰婷婷| 99福利视频| 嫩草AV久久伊人妇女超级A| 狠狠色婷婷777| 日日干天天| 亚洲AV无码电影| 日日操人人操| 1024AV视频| 1995年关宝慧版蜘蛛女| 婷婷五月,综合伊人| 99这里只有精品在线| 99在线精品免费视频| 97碰碰碰免费公开在线视频| 成人av在线网址| 九 九九九AV| 五月婷婷之美女图片| 婷婷D区| www.五月激情.com| 96自拍视频九色在线观看| 五月婷成人网| 久久婷婷五月丁香蜜桃网| 人人综合五月人人婷婷| 婷婷六月偷拍| 五月丁香综合中文| 午夜无码熟熟妇丰满人妻| 激情婷婷五月基地| 激情五月婷婷色综合| 中文国产五月天| 123日本不卡在线| 5月婷婷激情在线| 97热超碰| 欧美精品999| 亚洲激情亚洲激情 | 激情五月天综合网| 国产操碰| 婷婷色婷婷| 天堂爱爱| 成人av免费观看| 超碰人人色| 99色1| 丁香五月婷婷久久久| 日本熟女内射| 色www.con| 超碰91在线| 色色色视频| 99视频热99| 五月花婷婷| 欧美日韩一a.无| 欧美性生交XXXXX无码小说| 午夜激情五月| 久久99综合网| 强壮公让我夜夜高潮A片视频| 五月丁香六月花| 久久jiuwww| 亚洲综合五月天婷婷丁香| 俺去也在线官网| 久久 无毛。| 婷婷六月色| 丁香五月婷婷成人网| 久久久99婷婷久久久久久| 丁香五月AV| 色天五月天在线观看视频| 色狠狠五月天| 无码九九九九| 免费无码毛片一区二区A片| 狠狠草在线观看| 色婷婷六月性| 九九亚洲无码| 影音先锋 萱萱| 色婷婷影视| 六月合五月婷| 五月激情开心婷婷| 色啪网| 丁香五月婷综合| 婷婷久久网| 日本在线99| 婷婷丁香人妻久久在线观看| 高清无码.com| 欧美日韩国产伦精品日韩人妻一| 国产一级片色色| 天天摸天天日天天舔| 伍月激情天| 女人天堂 AV| 九九99精品视频在线观看| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 深爱激情久久| 第四色婷婷日本| 99日本视频| 9|人妻人人操| 色噜噜狠狠色综无码久久合欧美| 强伦轩人妻一区二区电影| 激情五月天激情五月天| 激情婷婷综合五月少妇| 国产视频久色| 天天做综合| 五月丁香啪啪激情| 中文字幕,综合,91| 日hao1区| 久久日韩婷婷五月| www.com在线操视频免费观看| 欧美色综合天天久久综合精品| 97人人射| 成人在线视频网| 操人久久| 热99精品视频五月| 久久久ww| 91一起操| 亚洲色网络| 草草视频91| www.五月婷婷| 色狠狠色| 开心激情婷婷| 色婷婷激情| 午夜丁香| 国产日产亚系列精品版优势| 俺去也五月| 无码AV免费精品一区二区三区| 婷婷99| 超碰成人免费| 免费无码毛片一区二区A片| 极品人妻VIDEOSSS人妻| wwwav大香蕉| 97色射| 五月婷婷 自拍| 亚洲欧美国产A片免费观看| 9|在线观看视频| Www.Av网9| 日hao1区| 婷婷综合色色| 亚洲中文无码成人| 草做免费在线观看| 国产精品爽爽久久久久久| 日日夜夜干| 人妻人人操| 五月天婷婷综合| 内射人妻视频国内| 玖玖婷婷五月天毛片| 丁香六月婷婷色XXXXX| 久久大香蕉视频| 五月婷婷爽爽爽| 日韩色色色色| 色婷久| 另类天堂| 精品少妇蜜臀91| 久久99热这里只有精品| 99久久久久| 婷婷综合网站| 亚洲成人电影在线免费观看| 26uuu偷拍亚洲欧洲综合| 久99久在线| 安息电影在线观看完整版| 日日爽天天| 97九色视频| 日韩成人精品中文字幕| AV在线不卡网站| 日韩AV片| 丁香丝袜五月| 97综合在线| 久超超碰| 丁香五月婷婷激情网| 日本免费91| 欧美群妇大交乱婬网| 久久精品小视频| 无套内射极品大美女| 亚洲AV成人在线| 五月丁香综缴情性爱| 亚洲AV日韩无码| 婷婷五月丁香色情| 久久99久久久久久| 97干资源在线观看| 婷婷综合激情五月中文字幕| 人妻久久人妻久久第一区| 色五月婷婷五月天| www91久久| 五月天激情在线视频| 婷婷五月天社区| 中文字幕中文有码在线| 色综合久久天天综合网| 玖玖资源站蜜臀| 日日杆天天| 九月大香蕉| 激情综合网,五月| 九热免费视频| 日本eVa一区=区视频| 久热9| 五月婷婷激情综合网| 丁香五月婷婷基地| 伊人久久婷| 婷婷五月天六月| 91一起操| 五月天激情图片| 丁香六月五月天| 久久99国产综合精品免费 | www.99热视频在线观看| 日本美女五月天| 成人龟情网丁香五月| 丁香六月开心| 婷婷无码视频| 十区AV| 日韩精品无码99| 久久婷五月天| 色六月丁香婷婷啪啪啪| 日韩成人AV在线播放| 国产亚洲99久久精品熟| 激情综合五月色在线| 婷婷久热| www.婷婷亚洲基地| 色久女| 九月激情综合婷婷| 深爱五月激情| av一区二区电影免费在线观看| 天天天天天操| 深爱激情九九五月天| 日韩成人精品一区久久久久| 另类图片五月天| 久久综合激情| 黄网免费看| 久久天堂| 免费AV在线| 天堂久久大香蕉| 五月丁香六月激情在线| 激情亭亭五月| 一月婷婷色色| 天天久综合网永久入口17v| 棕合影院色色| 五月天婷婷av| 天天狠天天叉| 超碰在线99| 五月天综合婷婷| 99在线精品观看99| 性综合网| 婷婷5月天av| 日本视频不卡123区| 亚洲 在线 性爱| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 婷婷五月丁香五月| caopeng97日韩| 丁香婷婷天堂| 色五月丁香五月天| 亭亭五月基地在线| 久草大| 久久婷婷五月国产色综合激情| 五月花婷婷| 天色综合网站| 色综合婷婷99| 丁香五月色网| 99精品激情| 亚洲亚洲人成综合网络| www。五月,com| mmm1717.6dbm人人爱人人操| 人人爽网| 久久机热/这里只有精品| 丁香五月黄色| www.99视频| www..com色爱| 9在线9在线婷婷在线国产| 情色婷婷五月天| 欧美日韩大黄| 婷婷五月天天激情| 综合色99| 米奇影视五月天| 久久精品系列| 被男人添B超爽视频| 丁香五月在线看| 99热青青草| 被强行糟蹋的女人A片| 亚城区在线| 天天搡日日搡aaaaⅩ| 亚洲亚洲人成综合网络| 99久久这里只有精品| 精品国产va久久久久| 9色天堂| 色色色欧美| 激情综合网亚洲色图| 丁香久久久| 公的粗大挺进了我的密道| 强伦轩人妻一区二区电影| 人妻性操逼中文字幕 国产| 九九草草逼| 婷婷五月天AV| 久久久精品色色色| 性色欲情 网站| 五月婷久草| 91超碰人人操| 五月婷婷激情| 天天干天天色天天干| 91婷婷在线| 国产精品黑丝| 久热9| 久9无码视频| 婷婷五月久久| 这里只有精彩小视频视频网站| 996黄色片| 色久综合| 五月丁香婷婷久久| 五月六月伦理| 九九视频热| 影音先锋色色色资源色资源色| 日韩免费99| 4438亚洲欧美| 色色热| 99在线热| 五月婷视频在线| 色久免费| 五月丁香六月婷婷亚洲激情综合| 五月色网| 在线中文亚洲| 新男人天堂人妻| 丁香狠狠干| 99精品网| 婷婷开心激情| 婷婷五月花| 色五婷婷在线视频| 色婷婷裸体色性在线| 天天综合干| aaa丁香五月天| www.99热视频| 久99在线视频| 色五月婷婷影院| 无码动漫AV| 九色1区视频在线| 国产99久| 亚洲99热| 人妻有码乱操| 影音先锋男士资源网一区| 极品人妻VIDEOSSS人妻| 亚洲色色色| 99精品网| 日本不卡一区二区三区| 一级黄色影片| 北京熟妇搡BBBB搡BBBB| 午夜大香蕉| 久久98| 久久香蕉网| 国产AV一区二区三区日韩| 五月丁香影院| 超碰在线caop| 丁香五月狠狠在线观看| 日日夜夜九九| 禁片二区| 丁香婷婷性久久| 色九月婷婷丁香| 欧美婷婷日本| 久热这里只精品| 亚洲夜五月| 亚洲第一色网站| 操逼福利视频| 亚洲狠狠操| 色综合色综合色综合色综合| 深爱激情五月网| 99狠狠| 大香蕉AV在线| 亚洲精品又粗又大又爽A片| 无码少妇高潮喷水A片免费| 激情图片亚洲| 九九精品re免费视频| 91九色视频在线观看| 97热视频| 五月婷高清视频| 九九热这里只有精品31| 色色亚洲五月天| 99操久久| 蜜桃五月天| 婷婷酒色网| 色婷婷天堂| 只有精品在线观看| 99热99这里有免费的精品| 婷婷色五月天在线观看| 97在线碰| 国产又爽又猛又粗的视频A片| 亚洲永远av在线播放| 婷婷综合在线播放| 激情婷婷丁香五月天小说| 九九婷婷五月天影视| 99er精品视频| 久久亚洲婷婷| www狠狠爱com| 综合99久久| 婷婷六月爽| 9久精品| 九九热中文| 国产精品久久欧美久久一区| 丁香五月成人自拍| 99综合视频一体| 色婷婷五月亚洲| 91色色色18| 风流少妇A片一区二区蜜桃 | 这里只精品| 停停五月丁香| 天天做天天爽| 成人网站高清无码| 婷婷五月丁香六月伊人网| 欧美va在线| 国产精品色色| 亚洲精品网址| 天天日人人| 久久久性爱视频| 五月婷婷综合在线亚洲视频| 色五月婷婷综合| 五月丁香青草综合啪啪| 操久久网| wwww.9免费视频| 色综合色综合婷婷热| 色婷婷狠狠18| 强辱丰满人妻HD中文字幕| 99精品在线观看视频| 伊人色欲五月天| 五月丁香婷婷欧美| 影音先锋91资源站| 婷婷日日天天| 99热都是精品| 九九色区| 99热久久这里只有精品2010| 99色在线观看| 五月婷婷狠狠干| 无码网站视频| 精品国产一区二区三区四区阿崩| 婷婷五月天黄色| 四月丁香五月婷婷久久| 国产AV影片| 开心久久xxx色| 91丁香五月| 墨西哥毛片内射精| 大伊久久| 五月天激情网站| www久久99| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 久久成人亚洲欧美电影| 丁香五月婷婷婷婷欧美综合| 色色热| 激情综合色婷婷啪啪五月天| 丁香五月婷婷六月婷| 狼人婷婷久久| 婷婷激情综合色五月久久91| 狠狠色婷| 九九人人看| 激情婷婷另类| 北京熟妇搡BBBB搡BBBB| 五月丁香六月在线欧美| 精品女人九九九| 激情婷婷综合网| 天天做天天摸| www.丁香六月婷婷久久天堂影院.con| 天天日综合网射| 久久婷婷综合五月天| 激情婷婷在线中文字幕| 日韩另类在线观看| 成人免费高清在线播放| 五月天社区| 伊人久久综合| 五月丁香综合网| 久草丁香婷婷五月天婷| 婷婷五月情| www,超碰| 亚洲性爱电影| 激情综合网址| 色噜噜狠狠色综合日日| 色情婷婷| 免费看欧美成人A片无码| 天天成人综合| 免费看欧美成人A片无码| 婷婷性爱无码视频| 一区二区三区四日本| 激情五月天色爱| 久久受www免费人成| 激情五月婷婷老师| 国产综合丁香五月天| 五月精品| 久久多色| 色色亚洲| 天天爱天天做天天爽| www.maotanji.com| 激情五月网站| 色欲AVV| 九九亚洲视频| 婷婷九月狠狠色| 九九精品99| 五月丁了香蕉综合| 婷婷五月天性色| 99热这里只有精品22| 欧美日韩国产一区二区| 婷婷五月激情网| 丁香婷婷激情五月| 日本www免费九九| 国产成人亚洲综合A∨婷婷| 色五月婷婷综合在线| 亚州色色色| 五月婷婷综合色啪首页| 996热re视频在线观看视频| 色色色综合| 天天搽天天射| 北条麻妃伊人| 免费亚洲婷婷中文字幕| 五月婷六月综合在线观看| 婷婷影视久久| 丁香六月婷婷综合| 亚洲色色图片| 一起操最新网址| 天天操无码| 亚洲激情丁香五月基地| 黄色99热| 五月天啪啪| 五月婷婷官网色| 五月开心婷婷中文字幕| 182无码| 色色色999| 亚洲另类久久| 日韩999| 欧美天堂婷婷日韩| 丁香五月区| 五月丁香在线婷婷蜜桃| 亚洲午夜一区二区| 嫩草AV久久伊人妇女超级A| 激情综合网五月天| 色七色九九| 狠狠九九婷婷韩| 99精品无码| 日日噜噜夜夜狠狠久久丁香六月| 九九家庭影院| 99久久97久久欧美综合网| 香蕉AV福利精品导航| 噜噜吧天天爱| 加勒比色色| 99欧州偷拍视频| 超碰97在线观看免费| 天天操比比| 婷婷五月激情中文字幕| 色色综合日韩| 婷婷五月综合网| 婷婷九月丁香中文| 狠狠操狠狠爱| 91碰| 天天日日综合| 丁香五月天人体| 91日本在线| 婷婷丁香婷婷97| 青青久在线视频免费观看| 五月丁香六月香香蕉| 九九热只有精品| 天天干-天天日| 青青草性爱视频| 婷婷久久五月天丁香| 婷婷成人av| 婷婷五月亚洲综合| 96精品国产综合久久久久久| 2018国产大陆天天弄| 色婷| 五月激情六月综合| 色五月成人在线| 色情五月天小说| 91精品无码| 久Se视频在线观看| 久久99免费视频| 国产性爱大片久久| 在线看九一V图片| 五月天婷婷基地| 丁香五月天堂网| 激情五月婷| 丁香五月开心亚洲| 久久伊人五月天| www.久久av.com| 五月丁香无码| 天天看夜夜看| 日日做夜夜爱| 五月天色婷婷基地| 亚洲性图一区二区| 色婷婷影音| 影音先锋 婷婷| 婷婷丁香激情五月| 九九热区一区二区三区| 开心五月婷婷六月丁香| 国产色色网址网站| 开心 五月 综合| 激情99。| 天天上天天爽| 热久久77777| 狠狠五月丁香色婷| 婷婷六月开心网| 四色女婷婷| 色色丁香激情五月| 五月婷天天搞视频| 日日夜夜狠狠操| 综合在线色婷婷| 色偷偷色婷婷| 狠狠色噜噜狠狠狠狠综合| 久99综合婷婷| www.久久| 99精品热| 国产婷婷婷| 色婷婷91激情小说| 99热九九在线| 婷综合| 五月天婷基地| 日 日干 日日做| 婷婷五月天综合色| 亚洲色婷婷| 天天做夜夜爽| 国产全是老熟女太爽了| 在线播放 精品| 99久久精品亚洲综合| 婷婷综合97| 五月开心婷婷极品激情| 色六月丁香婷婷狠狠干| 五月丁香激情欧洲啪啪| 久久99网| 97操操| 色伦专区97中文字幕| 日韩五月婷婷久久| 91久久九久久九久久九久久九久久| 久久婷婷伊人| 午夜精品777| 婷婷五月综合网| 久久久久久欧美精品se一二三四| 五月天婷婷成人网| 超碰无码老师| 久久大香蕉同僚| 热99视频精品| 久久精热| 激情色色色| 精品九九九久| 色色免费网站| 亚洲小说欧美激情| 亚洲无码色| www久久久| 色婷婷香蕉丁丁网| 99综合色色色| 综合婷婷五月丁香在线观看| 99ri国产| 爱久久小说下载网| 91热在线| 婷婷五月天色色| 7777国产盗摄农村女人| 日韩av在线免费观看| 综合五月丁香久久| 狠狠色噜噜狠狠| 色一情一乱一乱一区91Av| 色级停停| 久久草大香蕉| 五月婷在线视频免费看| 婷婷金品综合视频| 久久婷婷一级片| 激情五月天婷婷图| 五月婷婷丁香在线| 激情五月激情综合网| 99超碰人人| 天天操天天操综合| 99色热视频| 岛囯综合激情网| 五月婷婷开心亚洲无| 久久精热| 国产3p露脸普通话对白| 久综合色| 九九热在线视频观看| 成人精品视频99在线观看免费| WWW.99视频| 五月涩涩网| 五月天社区| 91人操| 亚洲激情网站| 97人人射| 97碰在线视频| 99久久这里只有精品| A短视频免费在线观看| 九九色逼| 操日视频| 五月天婷婷激情四射综合| 丁香五月婷婷成人色区| 91一起操| 女操碰| 日本色爽| 天天色中文字幕女优AV| 99热99久久| 五月天亚洲图片婷婷| 99r这里| 婷婷丁香六月天| 久久久婷婷婷| 五月婷视频| 五月丁香色色色| 狠狠色丁香婷婷基地| 99热一区| 9久国产精品| 五月丁香六月婷婷成人电影| 亚洲av成人一区二区电影在线| 婷婷五月AA五月在线| 色婷网| 大香蕉啪啪网| 99ri在线视频| 精品牛仔裤超碰| 国产精品国产| 久久婷婷丁香五月宗合| 天天高潮夜夜爽| 欧美在线ee日韩| 婷婷五月天免费| www。久久久久一b。Cc| 色婷婷综合五月| 国产毛片欧美毛片久久久| 热99精品视频在线观看| 婷婷五月天AV| 青青.com| 伊人婷婷五月天| 丁香六月婷婷综情欧美| 99精品热| 好吊操这里只有精品| 久久激情五月| 色狠狠六月| 狠狠爱青青草| 深夜A片|