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 安装到指定路径。
相关推荐
霍金的微笑13 分钟前
联邦学习(三只决策和大数据分析)(学习笔记)
笔记·学习
wang_san_sui_16 分钟前
VUE.js笔记
javascript·vue.js·笔记
LearnTech_12321 分钟前
【学习笔记】手写 Tomcat 七
java·开发语言·笔记·tomcat·手写tomcat
Stardep41 分钟前
数据结构7—树(顺序存储二叉树—堆)含TOPK问题
c语言·数据结构·笔记·算法
LENG_Lingliang2 小时前
投影算子 Projection
笔记·算法
TuringSnowy2 小时前
Logistic Regression 使用不同library系数不一样?Sklearn vs. Statsmodel
人工智能·经验分享·笔记·python·sklearn
yang-23073 小时前
Linux 学习笔记(二):深入理解用户管理、运行级别与命令行操作
linux·笔记·学习
TuringSnowy3 小时前
Spark_UDF处理缺失值或空值
经验分享·笔记