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 安装到指定路径。
相关推荐
舟舟亢亢27 分钟前
JVM复习笔记(上)
jvm·笔记
超级大只老咪9 小时前
快速进制转换
笔记·算法
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.12 小时前
Keepalived VIP迁移邮件告警配置指南
运维·服务器·笔记
ling___xi13 小时前
《计算机网络》计网3小时期末速成课各版本教程都可用谢稀仁湖科大版都可用_哔哩哔哩_bilibili(笔记)
网络·笔记·计算机网络
中屹指纹浏览器14 小时前
中屹指纹浏览器底层架构深度解析——基于虚拟化的全维度指纹仿真与环境隔离实现
经验分享·笔记
Hello_Embed14 小时前
libmodbus 移植 STM32(基础篇)
笔记·stm32·单片机·学习·modbus
无聊的小坏坏14 小时前
实习笔记:用 /etc/crontab 实现定期数据/日志清理
笔记·实习日记
香芋Yu14 小时前
【机器学习教程】第04章 指数族分布
人工智能·笔记·机器学习
深蓝海拓16 小时前
PySide6从0开始学习的笔记(二十六) 重写Qt窗口对象的事件(QEvent)处理方法
笔记·python·qt·学习·pyqt
中屹指纹浏览器16 小时前
中屹指纹浏览器多场景技术适配与接口封装实践
经验分享·笔记