基础部分
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,如需转载请自行联系原作者