当前位置: 首页 > article >正文

nginx + lua环境配置

在/usr/local/src/目录下面:
wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz
sudo make install PREFIX=/usr/local/luajit
sudo ln -sf luajit-2.1.0-beta2 /usr/local/luajit/bin/luajit

wget https://github.com/simplresty/ngx_devel_kit/archive/v0.3.1rc1.tar.gz
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.12rc1.tar.gz
wget http://nginx.org/download/nginx-1.13.6.tar.gz
tar -xzvf v0.3.1rc1.tar.gz
tar -xzvf v0.10.12rc1.tar.gz
tar -xzvf nginx-1.13.6.tar.gz
cd nginx-1.13.6/

export LUAJIT_LIB=/usr/local/luajit/lib
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0


export LUAJIT_LIB=/usr/local/luajit/lib
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.1

./configure --prefix=/usr/local/nginx --with-ld-opt="-Wl,-rpath,/usr/local/luajit-or-lua/lib" --add-module=/usr/local/src/ngx_devel_kit-0.3.1rc1 --add-module=/usr/local/src/lua-nginx-module-0.10.12rc1 
sudo make -j2
sudo make install

sudo /usr/local/nginx/sbin/nginx
如果报一下错误:
/usr/local/nginx/sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
那么请执行:
cd /usr/local/lib
cp libluajit-5.1.so.2 /usr/lib/x86_64-linux-gnu/
ln -s /usr/lib/x86_64-linux-gnu/liblua5.1.so /usr/lib/liblua.so

如果报一下错误:
cc1: all warnings being treated as errors
objs/Makefile:1512: recipe for target 'objs/addon/src/ngx_http_lua_module.o' failed
make[1]: *** [objs/addon/src/ngx_http_lua_module.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/htdocs/slb/nginx-1.10.3'
Makefile:8: recipe for target 'build' failed
make: *** [build] Error 2


请进行openssl安装
在/usr/local/src目录下面:
sudo wget https://www.openssl.org/source/openssl-1.0.2n.tar.gz
tar -zxvf openssl-1.0.2n.tar.gz
cd openssl-1.0.2n/
sudo ./config && sudo make && sudo make install
sudo ln -sf /usr/local/ssl/bin/openssl `which openssl`
openssl version -v
如果看到:
OpenSSL 1.0.2n 7 Dec 2017
那么OpenSSL就安装成功了!

如果报一下错误:
root@logsystest-mysql:/usr/local/luajit/lib# sudo /usr/local/nginx/sbin/nginx
sudo: unable to resolve host logsystest-mysql
/usr/local/nginx/sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory

请执行:
root@logsystest-mysql:/usr/local/luajit/lib# ldd $(which /usr/local/nginx/sbin/nginx)
linux-vdso.so.1 => (0x00007ffebf996000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fef77bdc000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fef779bf000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fef77787000)
libluajit-5.1.so.2 => not found
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fef7747e000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fef7720e000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fef76ff4000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fef76c2a000)
/lib64/ld-linux-x86-64.so.2 (0x00007fef77de0000)

cp libluajit-5.1.so.2 /usr/lib/x86_64-linux-gnu/

再查看:
root@logsystest-mysql:/usr/local/luajit/lib# ldd $(which /usr/local/nginx/sbin/nginx)
linux-vdso.so.1 => (0x00007ffcde1df000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f29ccbf4000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f29cc9d7000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f29cc79f000)
libluajit-5.1.so.2 => /usr/lib/x86_64-linux-gnu/libluajit-5.1.so.2 (0x00007f29cc526000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f29cc21d000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f29cbfad000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f29cbd93000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f29cb9c9000)
/lib64/ld-linux-x86-64.so.2 (0x00007f29ccdf8000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f29cb7b3000)

再次执行:
sudo /usr/local/nginx/sbin/nginx
看到没有错误,这个时候,看看nginx启动进程:
ps -ef |grep nginx
vagrant@vagrant:/usr/local/nginx/conf$ ps -ef |grep nginx
root 3475 1 0 03:24 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody 3476 3475 0 03:24 ? 00:00:00 nginx: worker process
vagrant 4542 8352 0 04:03 pts/5 00:00:00 grep --color=auto nginx

 


在/usr/local/nginx/conf/nginx.conf文件里面,在http {}里面添加以下代码:
location /hello_lua {
default_type 'text/plain';
content_by_lua 'ngx.say("hello, lua")';
}
重启nginx 
sudo /usr/local/nginx/sbin/nginx

在命令行里面输入:curl 127.0.0.1/hello_lua
vagrant@vagrant:/htdocs/slb/nginx-1.10.3$ curl 127.0.0.1/hello_lua
hello, lua
可以看到输出:hello, lua
nginx的lua模块以及安装成功!

http://www.lryc.cn/news/2416501.html

相关文章:

  • 【Excel系列9】-- 28个基础图表
  • 在JavaEye晃了一个来月真的感慨。
  • 从零开始搭建 reviewboard 环境(四) -- reviewboard 的安装过程中的问题解决
  • IP欺骗
  • 使用NE555制作多谐振荡器
  • MFC的坐标转换GetClientRect/GetWindowRect/ClientToScreen/GetCursorPos/ScreenToClient
  • Collections.synchronizedMap()与ConcurrentHashMap的区别
  • C++中critical section的使用
  • 高等数学学习笔记——第九十九讲——一阶线性微分方程组
  • 初学C语言以及C语言的常见概念
  • Sublime text 3最新注册码
  • Windows Installer Clean Up 软件正常卸载不了时,请它帮忙!
  • cocostudio使用基本要点汇总
  • AIS(自动识别系统)介绍
  • 【.NET】.NET 框架概述
  • fastDB个人使用心得
  • 进化算法——多目标优化
  • MNE溯源fieldtrip官网教程
  • JDK1.6安装详解、环境变量设置、测试安装及注意事项
  • leetcode Surrounded Regions 详解
  • java正则Matcher.matches()、Matcher.lookingAt()、Matcher.find()、 group()详解
  • 【实践】java.lang.Integer源码分析
  • CImage 从内存中读取图像
  • FileZilla Server简介及使用说明
  • 解决Adobe reader 8 突然打不开了并报许可协议的问题
  • 2023年【A特种设备相关管理(锅炉压力容器压力管道)】报名考试及A特种设备相关管理(锅炉压力容器压力管道)模拟考试题
  • vue 项目如何捕获awit 错误情况
  • 可行性分析与需求分析 —以图书馆管理系统为例
  • 破解密码的8种典型手段与防护建议
  • Linux service network服务重启失败及ping不通外网解决办法