@cdmonkey
2026-07-16T03:54:42.000000Z
字数 4749
阅读 55
Nginx
安装依赖包:
yum install psmisc patch perl make zlib zlib-devel gcc gcc-c++ glibc perl-CPAN perl-IPC-Cmd perl-Time*
要使用 OpenResty 维护的 Lua 分支。
若之前安装过 Nginx,最好把老的 lua 目录进行改名备份。
cd /usr/local/nginx/mv lua lua_20260716
而后进行安装:
tar zxvf luajit2-2.1-20260620.tar.gzcd luajit2-2.1-20260620make PREFIX=/usr/local/nginx/lua/luajitmake install PREFIX=/usr/local/nginx/lua/luajitecho "export LUAJIT_LIB=/usr/local/nginx/lua/luajit/lib" >> /root/.bashrcecho "export LUAJIT_INC=/usr/local/nginx/lua/luajit/include/luajit-2.1" >> /root/.bashrcsource /root/.bashrc
tar zxvf lua-resty-core-0.1.32.tar.gzcd lua-resty-core-0.1.32mkdir -pv /usr/local/nginx/lua/lualib/restycp -r lib/resty/* /usr/local/nginx/lua/lualib/resty/
tar zxvf lua-resty-lrucache-0.15.tar.gzcd lua-resty-lrucache-0.15cp -r lib/resty/* /usr/local/nginx/lua/lualib/resty/
unzip nginx_upstream_check_module-master.zipcd nginx-1.30.4patch -p1 < ../nginx_upstream_check_module-master/check_1.30.0+.patch# out:patching file src/http/modules/ngx_http_upstream_hash_module.cpatching file src/http/modules/ngx_http_upstream_ip_hash_module.cpatching file src/http/modules/ngx_http_upstream_least_conn_module.cpatching file src/http/modules/ngx_http_upstream_random_module.cpatching file src/http/ngx_http_upstream_round_robin.cpatching file src/http/ngx_http_upstream_round_robin.h
注意:resty-core 要求 lua-nginx-module 版本恰好等于指定值,二者必须来自同一发布配对。
lua-resty-core |
要求的 lua-nginx-module(精确) |
状态 |
|---|---|---|
| v0.1.32 | 0.10.29(10029) |
✅ 最新稳定版 |
| v0.1.33rc1 / rc2 | 0.10.30(10030) |
RC(候选版) |
| v0.1.34rc2 / rc3 | 0.10.31(10031) |
RC(候选版) |
| v0.1.35rc1 | 0.10.32(10032) |
RC(候选版) |
这里就采用表格第一行的对应版本。
./configure \--prefix=/usr/local/nginx \--user=app \--group=app \--with-pcre=/root/tools/pcre2-10.47 \--with-openssl=/root/tools/openssl-3.5.6 \--with-http_sub_module \--with-http_ssl_module \--with-http_gunzip_module \--with-http_gzip_static_module \--with-http_stub_status_module \--with-http_auth_request_module \--with-http_random_index_module \--with-http_realip_module \--with-ld-opt="-Wl,-rpath,/usr/local/nginx/lua/luajit/lib" \--add-module=/root/tools/nginx_upstream_check_module-master \--add-module=/root/tools/ngx_devel_kit-0.3.4 \--add-module=/root/tools/lua-nginx-module-0.10.29R2 \--add-module=/root/tools/ngx_dynamic_upstream-master \--add-module=/root/tools/nginx-module-vts-0.2.5 \--http-client-body-temp-path=/usr/local/nginx/temp/client_body_temp \--http-proxy-temp-path=/usr/local/nginx/temp/proxy_temp \--http-fastcgi-temp-path=/usr/local/nginx/temp/fastcgi_temp \--http-uwsgi-temp-path=/usr/local/nginx/temp/uwsgi_temp \--http-scgi-temp-path=/usr/local/nginx/temp/scgi_temp \--with-stream \--with-stream_ssl_module \--with-stream_ssl_preread_module
以下是之前的老文档,仅供参考。
useradd nginx -s /sbin/nologin -Myum install unzip patch glibc zlib zlib-devel gcc gcc-c++ make perl perl-IPC-Cmd perl-Data-Dumper
解压并编译安装:
luajit2-2.1-20230410.1.tar.gz - make && make install PREFIX=/usr/local/nginx/lua/luajitlua-resty-core-0.1.28.tar.gz - make install PREFIX=/usr/local/nginx/lualua-resty-lrucache-0.13.tar.gz - make install PREFIX=/usr/local/nginx/lua
解压下列安装包:
nginx_upstream_check_module-master.zipngx_dynamic_upstream-master.ziplua-nginx-module-0.10.26.tar.gznginx-module-vts-0.2.2.tar.gzngx_devel_kit-0.3.3.tar.gzopenssl-3.3.1.tar.gzpcre-8.45.zip
/root/.bashrc 配置环境变量:
export LUAJIT_LIB=/usr/local/nginx/lua/luajit/libexport LUAJIT_INC=/usr/local/nginx/lua/luajit/include/luajit-2.1
./configure \--prefix=/usr/local/nginx \--user=nginx \--group=nginx \--with-openssl=/root/tools/nginx-update-1.26.2/openssl-3.3.1 \--with-http_ssl_module \--with-http_gunzip_module \--with-http_gzip_static_module \--with-http_stub_status_module \--with-pcre=/root/tools/nginx-update-1.26.2/pcre-8.45 \--with-http_realip_module \--with-ld-opt="-Wl,-rpath,/usr/local/nginx/lua/luajit/lib" \--add-module=/root/tools/nginx-update-1.26.2/nginx_upstream_check_module-master \--add-module=/root/tools/nginx-update-1.26.2/ngx_dynamic_upstream-master \--add-module=/root/tools/nginx-update-1.26.2/nginx-module-vts-0.2.2 \--add-module=/root/tools/nginx-update-1.26.2/ngx_devel_kit-0.3.3 \--add-module=/root/tools/nginx-update-1.26.2/lua-nginx-module-0.10.26 \--http-client-body-temp-path=/usr/local/nginx/temp/client_body_temp \--http-proxy-temp-path=/usr/local/nginx/temp/proxy_temp \--http-fastcgi-temp-path=/usr/local/nginx/temp/fastcgi_temp \--http-uwsgi-temp-path=/usr/local/nginx/temp/uwsgi_temp \--http-scgi-temp-path=/usr/local/nginx/temp/scgi_temp \--with-stream \--with-stream_ssl_preread_module
主配置文件增加一行:
lua_package_path '/usr/local/nginx/lua/lib/lua/?.lua;;';
Github:
https://github.com/vision5/ngx_devel_kit
https://github.com/vozlt/nginx-module-vts
https://github.com/openresty/lua-nginx-module