NGINX+LUA编译安装

1. 安装依赖软件包

首先,使用 yum 安装一些必要的软件包:

yum install -y wget
yum install gcc zlib zlib-devel pcre-devel openssl openssl-devel readline-devel -y
  • wget: 用于下载文件的工具。
  • gcc: C 编译器,用于编译源代码。
  • zlib: 压缩库。
  • pcre: Perl 兼容正则表达式库。
  • openssl: 用于处理 SSL/TLS 的库。

2. 下载和解压 Nginx 源代码

下载指定版本的 Nginx 源代码并解压:

wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar -zxvf nginx-1.12.2.tar.gz

3. 下载和安装 LuaJIT

下载 LuaJIT 的源代码,解压并安装:

wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz
tar -zxvf LuaJIT-2.0.5.tar.gz
cd LuaJIT-2.0.5
make install PREFIX=/usr/local/LuaJIT
cd ..
  • make install PREFIX=/usr/local/LuaJIT 将 LuaJIT 安装到 /usr/local/LuaJIT 目录下。

4. 设置环境变量

将 LuaJIT 的库和头文件路径导出为环境变量:

export LUAJIT_LIB=/usr/local/LuaJIT/lib
export LUAJIT_INC=/usr/local/LuaJIT/include/luajit-2.0
source /etc/profile

这些变量将帮助编译器找到 LuaJIT 的库和头文件。

5. 下载和解压 Nginx 模块

下载 ngx_devel_kitlua-nginx-module 的源代码:

wget https://github.com/simplresty/ngx_devel_kit/archive/v0.3.0.tar.gz
tar zxvf v0.3.0.tar.gz

wget https://github.com/openresty/lua-nginx-module/archive/v0.10.13.tar.gz
tar zxvf v0.10.13.tar.gz

6. 配置 Nginx

进入 Nginx 目录,配置 Nginx 以使用 LuaJIT 和其他模块:

cd nginx-1.12.2
./configure --prefix=/usr/local/nginx \
  --with-http_v2_module \
  --with-http_stub_status_module \
  --with-http_ssl_module \
  --with-http_realip_module \
  --with-http_sub_module \
  --with-http_gzip_static_module \
  --with-pcre \
  --with-ld-opt=-Wl,-rpath,/usr/local/LuaJIT/lib \
  --add-module=../ngx_devel_kit-0.3.0 \
  --add-module=../lua-nginx-module-0.10.13
  • --prefix 指定 Nginx 的安装路径。
  • --with-* 选项用于启用特定模块。
  • --with-ld-opt 添加库路径。
  • --add-module 选项用于添加第三方模块。

7. 编译和安装

最后编译和安装 Nginx:

make -j2
make install
  • make -j2 指定使用两个线程并行编译,加快编译速度。
  • make install 将编译完成的 Nginx 安装到指定路径。
相关推荐
车轮滚滚__1 小时前
uniapp对接unipush 1.0 ios/android
笔记
云边有个稻草人3 小时前
【优选算法】—复写零(双指针算法)
笔记·算法·双指针算法
冷眼看人间恩怨12 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
Hejjon17 小时前
SpringBoot 整合 SQLite 数据库
笔记
西洼工作室20 小时前
【java 正则表达式 笔记】
java·笔记·正则表达式
初学者7.20 小时前
Webpack学习笔记(2)
笔记·学习·webpack
新手上路狂踩坑21 小时前
Android Studio的笔记--BusyBox相关
android·linux·笔记·android studio·busybox
stm 学习ing1 天前
HDLBits训练3
c语言·经验分享·笔记·算法·fpga·eda·verilog hdl
尘觉1 天前
算法的学习笔记—扑克牌顺子(牛客JZ61)
数据结构·笔记·学习·算法
bohu831 天前
sentinel学习笔记1-为什么需要服务降级
笔记·学习·sentinel·滑动窗口