天天看點

Nginx服務整理

基礎部分

1.正向代理與反向代理

2.install

3.http,tcp  http協定請求封包與響應封包格式

4.conf  基本配置

5.nginx配置優化

6.中級 重要

7.子產品

8.進階部分

zabbix監控nginx/elk/日志切割/日志分析/性能名額/故障/子產品開發/流量測試/book/安全

9.架構

http://mp.weixin.qq.com/s/4KKNHWX-NuVP8D43AL8KKw

正向代理的過程,它隐藏了真實的請求用戶端

反向代理隐藏了真實的服務端

Web伺服器Nginx多方位優化政策 - 運維生存時間

使用Tengine替代Nginx作為負載均衡伺服器

3.http,tcp

HTTP掃盲及nginx基礎性子產品常用指令整理 - gszadc.com

4.conf

企業級Nginx服務基礎到架構優化詳解--25條 - 改變從每一天開始

1.隐藏nginx header裡版本号資訊 http://renzhiyuan.blog.51cto.com/10433137/1875331

2.更改掉nginx預設使用者及使用者組(worker程序服務使用者優化)

3.配置nginx worker程序個數

4.根據cpu核數進行nginx程序優化

5.調整nginx worker單個程序允許的用戶端最大連接配接數

6.配置nginx worker程序最大打開檔案數

7.開啟高效的檔案傳輸模式

8.設定連接配接逾時時間

9.上傳檔案大小限制(動态應用)

10.nginx 自定義403頁面

11.記錄每個request 花費時間

12.nginx伺服器的下載下傳限速設定

13.優化配置伺服器域名的散清單大小:

14.開啟高效的檔案傳輸:

15.優化連接配接參數。調整逾時時間

16.緩存

17.配置Gzip壓縮功能,以節約帶寬

18.http部分調優: 

19.Nginx設定Header頭資訊

20.GeoIP白名單

21.status通路控制

22.負載均衡

1、RR(預設) 每個請求按時間順序逐一配置設定到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。

2、權重 指定輪詢幾率,weight和通路比率成正比,用于後端伺服器性能不均的情況

3、ip_hash 這樣每個訪客固定通路一個後端伺服器,可以解決session的問題

4、fair(第三方) 按後端伺服器的響應時間來配置設定請求,響應時間短的優先配置設定。

5.url_hash(第三方) 按通路url的hash結果來配置設定請求,使每個url定向到同一個後端伺服器,後端伺服器為緩存時比較有效。 在upstream中加入hash語句,server語句中不能寫入weight等其他的參數,hash_method是使用的hash算法

23.動靜分離

1.nginx事件處理模型優化

2.nginx緩存優先級(緩存問題者必看)

CentOS下為Nginx安裝清緩存子產品,優化nginx伺服器性能

3.rewrite

4.lua

5.nginx location文法

6.平滑更新

7.Nginx實戰系列之功能篇----後端節點健康檢查

8.編譯參數

9.如何安裝nginx第三方子產品  運維生存時間

10.nginx下使用$upstream_cache_status來标記緩存命中狀态

11.圖檔防盜鍊

12.安裝jemalloc可以增加性能

13.如果負載時大時小可能有io瓶頸,可以将proxy_cache放到/dev/shm 中來解決

14.https

nginx 的多域名多https轉發設定方法  ChinaUnix部落格

nginx.org的Configuring HTTPS servers頁面翻譯

nginx多個二級域名站點的https配置

帶你使用Nginx實作HTTPS雙向驗證

解決一次由于SSL證書到期導緻的網站不能通路的問題(Nginx,php,Apache)

兩年來的core折騰之路幾點總結,附上nginx啟用http2拿來即用的配置

Nginx HTTPS功能部署實踐 http://oldboy.blog.51cto.com/2561410/1889346

15.NGINX 直接傳回内容

16.nginx,檔案下載下傳,預覽,防止浏覽器下載下傳時直接打開,防止預覽時直接下載下傳檔案

17.日志清除

sed -i '/^10.1.1/d' $log_path/$i/$yesterday/$i.access.log  

sed -i '/^$/d' $log_path/$i/$yesterday/$i.access.log 

18.前端nginx時,讓後端tomcat記錄真實IP

1.secure_link

用于下載下傳伺服器  

# 下載下傳到期時間,time是目前時間,300表示300秒,也就是說從現在到300秒之内檔案不過期

$md5 = base64_encode(md5($secret . $path . $expire, true));

2.nginx_upstream_jvm_route Nginx 下 安裝nginx_upstream_jvm_route子產品 _ 快樂成長

3.nginx-sticky-module

4.ngx_http_lower_upper_case

Nginx/Tengine實作網址大小寫轉換

5.ngx_http_upstream_check_module

Nginx/Tengine 根據域名進行健康檢查

check_http_send "HEAD /status.html HTTP/1.1\r\nConnection: keep-alive\r\nHost: healthckeck.sudops.com\r\n\r\n";

6.http_concat_module

使用Tengine concat子產品合并多個CSS,JS 請求

./configure --prefix=/alidata/server/nginx --with-http_concat_module=shared

make && make dso_install

dso {

        load ngx_http_concat_module.so;    #加載動态加載子產品

    }

7.Nginx Google代理子產品(ngx_http_google_filter_module)

8.Nginx安裝配置防盜鍊子產品nginx-accesskey

9.日志相關參數官網給的解釋是:Module ngx_http_log_module

10.ngx_headers_more,去除多餘的頭部資訊減小資料傳輸量

ngx_headers_more 子產品來增加、删除出站、入站的 Header 資訊

11.第三方限速子產品nginx Nginx-limit-traffic-rate-module

該子產品是按來路IP限制速度,而不是按連接配接限制

12.nginx upload module 上傳子產品

13.nginx修改upstream不重新開機的方法(ngx_http_dyups_module子產品)

14.ngx_http_sysguard_module 系統過載保護

15.ngx_http_limit_req_module 并發限制子產品

16.nginx記錄分析網站響應慢的請求(ngx_http_log_request_speed)

17.關于Nginx session sticky

18.Nginx伺服器配置Modsecurity實作Web應用防護系統

19.Tengine子產品文檔:footer filter子產品功能

1.zabbix監控nginx

2.elk

ELK系列二:kibana操作及nginx日志分析圖表建立

http://hnr520.blog.51cto.com/4484939/1845900

3.日志切割

server

if ($time_iso8601 ~ "^(d{4})-(d{2})-(d{2})T(d{2}):(d{2}):(d{2})")

{

set $year1 $1;

set $month1 $2;

set $day1 $3;

set $hour1 $4;

set $minutes1 $5;

set $seconds1 $6;

}

access_log  /opt/log/crm-$year-$month-$day.log;

error_log   /opt/log/crm-$year-$month-$day.error;

4.日志分析

5.性能名額

并發連接配接數

用戶端向伺服器發起請求,并建立了TCP連接配接。每秒鐘伺服器連結的總TCP數量,就是并發連接配接數

PV(page view)  UV(unique visitor) 獨立IP

6.故障

1.Nginx Connection 不夠用 的參數調整

2.nginx+php-fpm出現502

3.線上nginx的一次“no live upstreams while connecting to upstream ”分析

4.nginx proxy_pass末端神奇的斜線

5.nginx+tomcat使用apache的FtpClient上傳圖檔時由于多線程問題導緻的檔案大小為0的問題

7.子產品開發

Nginx子產品開發入門 CodingLabs

NGINX-HTTP子產品開發 之 驗證URL參數 - 推酷

8.流量測試

騰訊版TCPCOPY.%20基于真實TCP流量的測試工具 TCPGO

利用tcpcopy,發現nginx一重大bug

9.book

深入了解Nginx:子產品開發與架構解析(第2版)

10.安全

nginx 限制url的IP通路

nginx防止高負載的解決方案(sysgurad子產品) - 運維生存時間

Nginx下php-fpm防止跨站跨目錄安全設定

漏桶算法和 NGINX 的 limit_req 子產品

9.架構 tenginx+keepalived

搞一個架構圖

<a href="http://blog.csdn.net/ityouknow/article/details/54374818" target="_blank">http://blog.csdn.net/ityouknow/article/details/54374818</a>

<code>location </code><code>/</code> <code>{</code>

<code>      </code><code>proxy_set_header   X</code><code>-</code><code>Forwarded</code><code>-</code><code>For $proxy_add_x_forwarded_for; </code>

<code>            </code><code>proxy_pass_header Server;</code>

<code>            </code><code>proxy_set_header Host $http_host;不是host,因為是用端口通路的</code>

<code>            </code><code>proxy_set_header X</code><code>-</code><code>Real</code><code>-</code><code>IP $remote_addr;</code>

<code>            </code><code>proxy_set_header X</code><code>-</code><code>Scheme $scheme;</code>

<code>      </code><code>proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;</code>

<code>      </code><code>proxy_pass http:</code><code>/</code><code>/</code><code>ip:</code><code>8080</code><code>;</code>

<code>}</code>

本文轉自 liqius 51CTO部落格,原文連結:http://blog.51cto.com/szgb17/1908848,如需轉載請自行聯系原作者

繼續閱讀