nginx
一、nginx安装
1 | 安装依赖 |
二、nginx模块管理
查看已安装的模块
1 | nginx -V |
添加编译模块
查看已安装的模块
1
2
3nginx -V
复制configure arguments后的模块
configure arguments: --prefix=/srv/nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-mail --with-mail_ssl_module重新配置编译选项并追加新增的某块
1
./configure --prefix=/srv/nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-mail --with-mail_ssl_module
make
切勿执行make install,否则将覆盖已安装的nginx
备份已安装的nginx二进制文件
1
cp /usr/local/sbin/nginx /usr/local/sbin/nginx.bak
替换重新编译的er禁止文件
1
2源码目录中
cp ./objs/nginx /usr/local/sbin/nginx测试无误后删除备份
1
rm /usr/local/nginx/sbin/nginx.bak
三、nginx基本配置
代理转发
http代理转发
1 | # 将域名为x.domain.com的请求代理至localhost的8080端口 |
https代理转发
1 | # 默认https使用443端口 |
http强转https
1 | # 将域名为x.domain.com的请求301重定向为https协议请求 |
禁止ip直接访问
1 | #禁止ip直接访问80端口 |
四、nginx开源模块
上游节点健康检测
健康检测选用淘宝团队开发的nginx_upstream_check_module模块
- 安装nginx_upstream_check_module
1 | 进入nginx源码目录 |
- 配置健康检测
1 | 配置上游服务器健康检测 |
- 查看健康状态
按照如上配置,访问x.domain.cn/status可以看到健康状态
其中number
代表上游服务器节点个数,generation
为健康检测本身load的次数(nginx重启或者reload都会导致generation
增加)
更多健康检测模块配置参考配置文档
sticky
官方收费版,参考nginx stciky模块
开源版,参考https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng
五、更多配置
413 Request Entity Too Large Error
1 | # http, server 或 location节点中添加 |