基础部分

1.正向代理与反向代理

2.install

3.http,tcp  http协议请求报文与响应报文格式

4.conf  基本配置

5.nginx配置优化

6.中级 重要

7.模块

8.高级部分

zabbix监控nginx/elk/日志切割/日志分析/性能指标/故障/模块开发/流量测试/book/安全

9.架构

1.正向代理与反向代理

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

正向代理的过程,它隐藏了真实的请求客户端

反向代理隐藏了真实的服务端

2.install

Web服务器Nginx多方位优化策略 - 运维生存时间

使用Tengine替代Nginx作为负载均衡服务器

3.http,tcp

HTTP扫盲及nginx基础性模块常用指令整理 - gszadc.com

4.conf

企业级Nginx服务基础到架构优化详解--25条 - 改变从每一天开始

5.nginx配置优化

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.动静分离


6.中级 重要

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


7.模块

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模块功能


8.高级部分

zabbix监控nginx/elk/日志切割/日志分析/性能指标/故障/模块开发/流量测试/book/安全

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

搞一个架构图

http://blog.csdn.net/ityouknow/article/details/54374818

1
2
3
4
5
6
7
8
9
location / {
      proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for; 
            proxy_pass_header Server;
            proxy_set_header Host $http_host;不是host,因为是用端口访问的
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Scheme $scheme;
      proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
      proxy_pass http://ip:8080;
}

本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/1908848,如需转载请自行联系原作者