一、下载Nginx源文件

因为安装模块需要重新编译,编译需要用到Nginx的源文件,所以这里还要下载一份。

下载地址:http://nginx.org/en/download.html

cd /usr/local/src
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -xvf nginx-1.18.0.tar.gz

二、下载安装LuaJIT

ngx_lua_waf官方推荐LuaJIT2.1版本(2.0或者2.1都是支持的)

下载地址:http://luajit.org/download.html

cd /usr/local/src
wget http://luajit.org/download/LuaJIT-2.1.0-beta3.tar.gz
tar -zxf LuaJIT-2.1.0-beta3.tar.gz
cd LuaJIT-2.1.0-beta3
make PREFIX=/usr/local/luajit
make install PREFIX=/usr/local/luajit

推荐使用 LuaJIT2.1 做 Lua 支持

ngx_lua 如果是 0.9.2 以上版本,建议正则过滤函数改为 ngx.re.find,匹配效率会提高三倍左右。

三、下载ngx_devel_kit(NDK)模块

下载地址:https://github.com/simplresty/ngx_devel_kit/tags

只需要解压既可

cd /usr/local/src
wget https://github.com/simplresty/ngx_devel_kit/archive/v0.3.0.tar.gz
tar -xvf v0.3.0.tar.gz

解压后路径:ngx_devel_kit-0.3.0

四、下载

模块

下载地址:https://github.com/openresty/lua-nginx-module/tags

只需要解压既可

cd /usr/local/src
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.11.tar.gz
tar -xvf v0.10.11.tar.gz

解压后路径:lua-nginx-module-0.10.11

五、编译Nginx

1.切换到Nginx源文件目录,设置环境变量

cd /usr/local/src/nginx-1.12.2
export LUAJIT_LIB=/usr/local/luajit/lib
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.1

2.编译

./configure --prefix=/usr/local/nginx  --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-stream_ssl_preread_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_perl_module --with-http_stub_status_module --with-http_auth_request_module --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --with-debug --with-cc-opt='-O3 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --add-module=/usr/local/src/ngx_devel_kit-0.3.0 --add-module=/usr/local/src/lua-nginx-module-0.10.11 --with-ld-opt='-Wl,-rpath,/usr/local/luajit/lib'

make && make install

如果命令执行过程中出现了错误可以参考下面两个帖子的处理方法:

3.检查

nginx -V

能看到版本信息和编译参数就表示安装成功

4.启动

# 建立软链接
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
# 启动 nginx
nginx

如果启动过程中报错:error: perl module ExtUtils::Embed is required,可以查看参考这篇帖子error: perl module ExtUtils::Embed is required

版权声明

本文由https://www.reinforce.cn/t/611.html经过修改后得到,下面是一些详细信息。

原文作者:幻幻Fate
原文来源https://www.reinforce.cn/
原文链接https://www.reinforce.cn/t/611.html