编译nginx-1.16.1
cd /home/dev/app/source
## 下载压缩包
wget http://nginx.org/download/nginx-1.16.1.tar.gz
## 下载探活模块
git clone https://github.com/yaoweibin/nginx_upstream_check_module.git
## 下载 pcre-8.39.zip
## 下载 zlib-1.2.8.tar.xz
## 下载 openssl-1.1.0c.tar.gz
## 下载会话保持模块
wget https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz
#解压
tar zxvf nginx-1.16.1.tar.gz
unzip pcre-8.39.zip
tar xvf zlib-1.2.8.tar.xz
tar xvf openssl-1.1.0c.tar.gz
tar xvzf nginx-goodies-nginx-sticky-module-ng-08a395c66e42.tar
mv nginx-goodies-nginx-sticky-module-ng-08a395c66e42 nginx-sticky-module
## 若使用windows系统clone nginx_upstream_check_module,然后上传至测试环境,需执行以下命令
dos2unix nginx_upstream_check_module/config
cd nginx-1.16.1
patch -p1 < /home/dev/app/source/nginx_upstream_check_module/check_1.16.1+.patch
## 安装目录为 /home/dev/app/build/nginx
./configure --prefix=/home/dev/app/build/nginx --with-pcre=/home/dev/app/source/pcre-8.39 --with-zlib=/home/dev/app/source/zlib-1.2.8 --with-openssl=/home/dev/app/source/openssl-1.1.0c --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --add-module=/home/dev/app/source/nginx_upstream_check_module --add-module=/home/dev/app/source/nginx_sticky_module --with-stream
make
make install
## 进入安装好的目录
cd /home/dev/app/build/nginx
附参数手册
--prefix=/app/nginx # 安装目录 --conf-path=/app/nginx/conf/nginx.conf # 配置文件 --sbin-path=/app/nginx/sbin/nginx # 可执行文件 --http-log-path=/app/nginx/logs/access.log # 访问日志 --error-log-path=/app/nginx/logs/error.log # 错误日志 --pid-path=/app/nginx/logs/nginx.pid # pid文件 --lock-path=/app/nginx/logs/nginx.lock # lock文件 --with-ld-opt=-Wl,-rpath,/usr/local/lib # 设置文件链接参数 --with-pcre=/usr/local/src/pcre-8.42 # 指定pcre库源码位置 --with-zlib=/usr/local/src/zlib-1.2.11 # 指定zlib库源码位置 --with-openssl=/usr/local/src/openssl-1.0.2n # 指定openssl库源码位置 --add-module=/usr/local/src/nginx_upstream_check_module-0.3.0 # 反向代理时,如果后端服务器down,nginx不会识别到,继续发送请求到这台realserver;location中的proxy_next_upstream参数可以解决发送给用户错误页面, # 但它是先把请求发到这个realserver,然后再转发给别的server,这样就会增加一次转发;nginx_upstream_check_module可以检测后端服务器的状态, # 如果后端服务器出现异常,则请求不会发送到这台服务器。 --add-module=/usr/local/src/nginx-sticky-module # 基于cookie实现会话保持,通过分发和识别cookie,来使同一个客户端的请求落在同一台服务器上。 --add-module=/usr/local/src/nginx-upstream-fair-master # 比内建的负载均衡更加智能的负载均衡模块,目前这个模块已经停止更新了,nginx1.11版本以上就不再支持。 --add-module=/usr/local/src/ngx_cache_purge-2.3 # 该模块使得Nginx可以使用PURGE指令手动清除指定URL的缓存页面。 --add-module=/usr/local/src/lua-nginx-module-0.10.13 # 把 lua 解析器内嵌到 nginx,用来解析并执行lua 语言编写的网页后台脚本。 --add-module=/usr/local/src/ngx_devel_kit-0.3.0 # 以一种可用作其他Nginx模块基础的方式扩展Nginx Web服务器的核心功能,它只是为了帮助减少Nginx模块开发人员需要编写的代码。 --add-module=/usr/local/src/set-misc-nginx-module-0.32 # 该模块是标准的HttpRewriteModule指令的扩展,提供更多功能,如URI转义与非转义、JSON引述、Hexadecimal/MD5/SHA1/Base32/Base64编码与解码、随机数等 --with-http_addition_module # 可以在响应体的前面或后面附加上数据, --with-http_dav_module # 该模块主要是通过WebDAV协议实现文件管理自动化。该模块可以处理HTTP和WebDAV的方法PUT,DELETE,MKCOL,COPY和MOVE。 --with-http_flv_module # 该模块为Flash Video文件提供伪流服务器端支持,利用请求URL的查询字符串中的start参数处理请求,通过从请求的字节偏移量开始发送内容,并返回FLV头部。 --with-http_gzip_static_module # 该模块允许发送带有.gz文件扩展名的预压缩文件,而不是普通文件。 --with-http_realip_module # 获取客户端真实IP。 --with-http_stub_status_module # 该模块提供nginx的基本状态信息。 --with-http_ssl_module # 支持HTTPS --user=nginx # 设置用户 --group=nginx # 设置组
1 声望
1 粉丝
推荐阅读
CentOS从零开始部署Nodejs项目
原文地址:[链接]安装nodejs、npm/cnpm {代码...} 安装mysql卸载 {代码...} 安装 {代码...} 启动 {代码...} 登录 {代码...} 修改root密码 {代码...} 允许远程访问,与本地密码区分,是两个密码 {代码...} 安装git...
jigsaw赞 3阅读 5k评论 3
Nginx 配置常用参数,看这一篇就够了
最近在全面学习Nginx,当作笔记了,如有错误,欢迎指出或深入交流。主模块 {代码...} 事件模块 {代码...} http部分 {代码...} 部分参数详细说明server_name {代码...} location {代码...} location表达式类型 {代...
13sai赞 2阅读 1.8k
把 Go 放到 Nginx C module 之中
最近一段时间,我在做一件有趣的事情,让一个 Nginx C module 通过 Go 代码来访问 gRPC 服务。不得不感慨 Go 真的很流行,让人无法拒绝。之前我做 wasm-nginx-module 时就试图把 tinygo 跑在 Nginx 里面,这次则...
spacewander赞 2阅读 2.2k评论 2
化虹为桥 - Nginx 如何代理 UDP “连接”
众所周知,UDP 并不像 TCP 那样是基于连接的。但有些时候,我们需要往一个固定的地址发送多个 UDP 来完成一个 UDP 请求。为了保证服务端能够知道这几个 UDP 包构成同一个会话,我们需要在发送 UDP 包时绑定某个端...
spacewander赞 4阅读 1.1k
Nginx unexpected end of file 配置证书遇到问题,如何解决?
通过 letsencrypt 申请证书后,默认服务器安装了 Nginx 1.8 发现,在默认的 /etc/nginx/sites-enabled/default 内容配置 SSL 的 site.com.key 后。重启 Nginx 出现一下错误:
程序员泥瓦匠赞 1阅读 711
nginx配置ssl证书
{代码...}
eyuxiog赞 1阅读 1.4k
[nginx] 实现域名代理
业务场景有两个系统A、B,A、B两系统均有独立域名,但对外只想暴露A域名。需要实现通过 A域名+B系统子路由 访问 系统B的子页面,图示如下。
DiracKeeko阅读 925
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。