OpenResty
nginx
nginx log format
Nginx 陷阱和常见错误
静态资源服务
反向代理
nginx 缓存配置
SSL TLS 证书
listen指令
正则
server_name 指令
获取真实客户端地址的realip模块
nginx的常见问题
location
内核参数优化
nginx配置文件详解
http 请求处理时的11个阶段
11个阶段的处理顺序
rewrite模块
limit conn模块 对连接数做限制
limit_req 模块
access 模块 auth_basic
static模块提供的三个变量
http框架用户请求相关的变量
tcp 连接相关变量
nginx 系统变量
使用变量防盗链的referer 模块
客户端 keepalive
upstream变量
http 反向代理 proxy处理请求的流程
接收用户请求的方式
缓存
搭建websocket反向代理
openfilecache提升系统性能
openResty 安装
ngx_lua_waf
不重启 Nginx 容器的情况下重新加载配置文件
GEOIP2(即GeoLite2免费地理位置数据) - 数据库下载与自动更新
GEOIP2 在 NGINX/Openresty 上的应用(根据IP归属国家自动切换网站根目录&静态资源下载限速&禁止访问
banana waf
ngx_waf
一个完整的Nginx优化配置
openresty 共享内存代码示例
301 和 302 的区别
OpenResty 执行流程阶段
nginx反向代理调度算法
本文档使用 MrDoc 发布
-
+
首页
openResty 安装
# OpenResty 源码 OpenResty 源码下载 1.https://openresty.org/cn/download.html (Cloudflare也在用的) 2.http://nginx.org/en/download.html (nginx源码下载) 3.https://tengine.taobao.org/( 淘宝团队维护的另外一个nginx版本) # 查看之前已使用编译参数 进入nginx的安装目录的sbin目录里面, ./nginx -V 即可查看nginx编译参数。 当然,用绝对路径更好。范例如下: ``` $ /usr/local/nginx/sbin/nginx -V nginx version: openresty/1.19.3.1 built by gcc 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) built with OpenSSL 1.1.1f 31 Mar 2020 TLS SNI support enabled configure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt=-O2 --add-module=../ngx_devel_kit-0.3.1 --add-module=../iconv-nginx-module-0.14 --add-module=../echo-nginx-module-0.62 --add-module=../xss-nginx-module-0.06 --add-module=../ngx_coolkit-0.2 --add-module=../set-misc-nginx-module-0.32 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.08 --add-module=../ngx_postgres-1.0 --add-module=../srcache-nginx-module-0.32 --add-module=../ngx_lua-0.10.19 --add-module=../ngx_lua_upstream-0.07 --add-module=../headers-more-nginx-module-0.33 --add-module=../array-var-nginx-module-0.05 --add-module=../memc-nginx-module-0.19 --add-module=../redis2-nginx-module-0.15 --add-module=../redis-nginx-module-0.3.7 --add-module=../rds-json-nginx-module-0.15 --add-module=../rds-csv-nginx-module-0.09 --add-module=../ngx_stream_lua-0.0.9 --with-ld-opt=-Wl,-rpath,/usr/local/openresty/luajit/lib --with-http_stub_status_module --with-stream --with-http_v2_module --with-http_realip_module --with-http_sub_module --with-http_geoip_module --with-http_gzip_static_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_ssl_module --with-stream ``` # 查看之前已安装的模块 `/usr/local/nginx/sbin/nginx -V 2>&1 | tr -- - '\n' | grep _module nginx` 位置根据你的实际情况更换;此命令是用以查看当前使用的nginx版本的非默认安装模块(额外安装的自选安装模块、以及第三方模块等); ``` # 以下部分模块是博主出于分析恶意IP而额外选装的(获取CDN下用户真实IP)。 $/usr/local/nginx/sbin/nginx -V 2>&1 | tr -- - '\n' | grep _module #非默认安装的模块 http_stub_status_module http_v2_module #HTTP V2 http_realip_module http_sub_module http_geoip_module # 用以拦截来自某区域的IP http_gzip_static_module stream_ssl_module stream_ssl_preread_module http_ssl_module ``` # 编译及安装(安装路径&模块选装) 可参考官方说明:安装 或参考下文(如果你是升级或迁移覆盖安装 Openresty); 替换安装:如果你先前已经安装了 nginx,替换nginx二进制文件即可;nginx二进制文件一般位于:`/usr/local/nginx/sbin/nginx`,你可以选择覆盖安装`Openrestry`; ```bash $ cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak #备份nginx二进制文件 $ tar -xzvf openresty-VERSION.tar.gz #下载最新oprenresty源码 $ cd openresty-VERSION/ #进入openresty源码目录 # sudo yum install -y postgresql-devel sudo yum install -y pcre-devel openssl-devel gcc postgresql-devel sudo yum install -y GeoIP-devel.x86_64 ## 以下三种方法选最后一种(按需选择) $ ./configure --prefix=/usr/local/openresty #预设安装路径 $ ./configure #纯默认编译,无预设路径编译 $ ./configure --prefix=/usr/local/openresty/ --with-http_stub_status_module --with-luajit --with-http_iconv_module --with-http_postgres_module --with-stream --with-http_v2_module --with-http_realip_module --with-http_sub_module --with-http_geoip_module --with-http_gzip_static_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_ssl_module # 以上 --with-http_stub_status_module 由查看已安装模块这个步骤得来; $ make #./configure 后需要进行编译 $ sudo make install #安装 ``` # 动态安装第三方模块 ``` --add-module=PATH enable external module --add-dynamic-module=PATH enable dynamic external module ``` 安装第三方模块,直接编译进nginx二进制文件(/usr/local/nginx/nginx);PATH为第三方模块源码目录; ``` ./configure --prefix=/usr/local/openresty/ --add-module=PATH ``` 动态安装第三方模块,生成.so文件,在nginx配置文件中引用即可;不需要重新编译进nginx二进制文件;PATH为第三方模块源码目录; ``` ./configure --prefix=/usr/local/openresty/ --add-dynamic-module=PATH enable dynamic external module ## 编译成功后可在 /usr/local/openresty/nginx/modules(目录位置视实际情况) $ ls /usr/local/openresty/nginx/modules ngx_http_geoip_module.so ## 然后在 nginx.conf http 块引用即可 load_module /usr/local/openresty/nginx/modules/ngx_http_geoip_module.so ``` # 知识点(有哪些模块可选) 在 Openresty 安装中,./configure 中 --with 前缀开头的为可选安装包,其余默认安装包,安装时使用 --with-模块名称安装;--without则相反(就是本来要默认安装的模块,你用--without后它就不安装了); # 编译安装模块选择 ``` ./configure --prefix=/usr/local/openresty/ \ --with-http_stub_status_module \ --with-luajit \ --with-http_iconv_module \ --with-http_postgres_module \ --with-stream \ --with-http_v2_module \ --with-http_realip_module \ --with-http_sub_module \ --with-http_geoip_module \ --with-http_gzip_static_module \ --with-stream_ssl_module \ --with-stream_ssl_preread_module \ --with-http_ssl_module ```
admin
2023年6月16日 15:24
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码