nginx安装lua-nginx-module模块
转载注明地址:http://www.cnblogs.com/dongxiao-yang/p/5312285.html
本文主要采用手动源码安装的方式将lua-nginx模块编译到nginx源码内部
一:系统版本
1 cat /etc/issue
CentOS release 6.7 (Final)
Kernel \r on an \m
2 cat /proc/version
Linux version 2.6.32-573.el6.x86_64 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) ) #1 SMP Thu Jul 23 15:44:03 UTC 2015
二 :安装
1 安装LuaJIT
下载地址http://luajit.org/download.html,本次下载的是2.0.0版本
安装命令参考http://luajit.org/install.html教程,本文直接修改了Makefile文件里的默认路径PREFIX到/opt/luajit-2.0.0。
make && make install
安装完毕。
2 安装nginx
(1) 下载ng源码并解压
wget http://nginx.org/download/nginx-1.8.1.tar.gz
(2)下载 ngx_devel_kit (NDK) 模块 HERE. 解压
(3)下载 ngx_lua HERE.解压
(4)安装pcre依赖库
yum install readline-devel pcre-devel openssl-devel gcc
(5)设置变量并编译export LUAJIT_LIB=/opt/luajit-2.0./lib(根据本机位置)
export LUAJIT_INC=/opt/luajit-2.0./include/luajit-2.0(根据本机位置) cd nginx-1.8. ./configure --prefix=/opt/nginx-build-1.8. \
--with-ld-opt="-Wl,-rpath,/opt/luajit-2.0.0/lib" \
--add-module=/opt/lua-nginx-module-0.10. \
--add-module=/opt/ngx_devel_kit-0.3.0rc1 make -j2 make install
这里注意的是很多人编译的时候没有加选项:--with-ld-opt="-Wl,-rpath,/opt/luajit-2.0.0/lib
这样会导致编好的nginx在启动的时候会无法找到位于luajit内的类库,类似于
/opt/nginx/sbin/nginx -c /opt/nginx/conf/nginx.conf
/opt/nginx/sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
这个问题很多人发现后采用了将libluajit-5.1.so.2链接到系统库的做法,比如http://cywhoyi.iteye.com/blog/2118913,以及https://www.ttlsa.com/nginx/nginx-modules-ngx_lua,采用的
ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/
这样可以解决问题,但是相当于一个补救方法。
参考问题https://github.com/openresty/lua-nginx-module/issues/8 里agentzh的回答
--with-ld-opt= — sets additional parameters that will be used during linking. When using the system PCRE library under FreeBSD, parameters--with-ld-opt="-L /usr/local/lib" should be specified.
所以相当于直接把luajit的lib库加到了nginx的搜索库。
(6)启动
ln -s nginx-build-1.8.1 nginx 设为默认路径
/opt/nginx/sbin/nginx -c /opt/nginx/conf/nginx.conf
启动成功
参考资料
3 OpenResty 一个可伸缩的基于 NGINX 的 Web 平台
nginx安装lua-nginx-module模块的更多相关文章
- nginx安装lua模块实现高并发
nginx安装lua扩展模块 1.下载安装LuaJIT-2.0.4.tar.gz wget -c http://luajit.org/download/LuaJIT-2.0.4.tar.gz tar ...
- Nginx安装lua支持
Nginx安装lua支持 需要LuaJIT-2.0.4.tar.gz,ngx_devel_kit,lua-nginx-module 1.下载安装LuaJIT-2.0.4.tar.gz wget -c ...
- 11: Nginx安装lua支持
1.1 Nginx 使用lua脚本 注:需要LuaJIT-2.0.4.tar.gz,ngx_devel_kit,lua-nginx-module 1.Nginx安装lua支持 wget -c http ...
- Linux上安装Nginx依赖环境和库、Nginx安装,Nginx服务命令
安装Nginx依赖环境和库.Nginx安装,Nginx服务命令 因为Nginx官方提供的是C源码,要自己进行编译,所以需要自己拥有编译所依赖的环境和库才可正常编译 安装gcc yum -y insta ...
- nginx安装配置+清缓存模块安装
经过一段时间的使用,发现nginx在并发与负载能力方面确实优于apache,现在已经将大部分站点从apache转到了nginx了.以下是nginx的一些简单的安装配置. 环境 操作系统:CentOS. ...
- nginx -- 安装配置Nginx
安装说明 系统环境:CentOS-6.3 软件:nginx-1.2.6.tar.gz 安装方式:源码编译安装 安装位置:/usr/local/nginx 下载地址:http://nginx.org ...
- [转] linux学习第四十四篇:Nginx安装,Nginx默认虚拟主机,Nginx域名重定向
Nginx安装 进入存放源码包的目录: cd /usr/local/src 下载源码包: wget http://nginx.org/download/nginx-1.12.1.tar.gz 解压: ...
- VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)
首先启动Nginx 1. 相关浏览 两个 Tomcat 配置: VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二) Nginx 安装配置启动: VMware Linu ...
- Nginx安装配置|Nginx反向代理|Nginx支持HTTPS|Nginx重定向
Nginx安装配置 可以直接看到最下面的HTTPS. Nginx安装 我的系统如下: No LSB modules are available. Distributor ID: Ubuntu Desc ...
- nginx 安装配置+清缓存模块安装
经过一段时间的使用,发现 nginx 在并发与负载能力方面确实优于 apache,现在已经将大部分站点从 apache 转到了 nginx 了.以下是 nginx 的一些简单的安装配置.环境操作系统: ...
随机推荐
- 一、C# 概述
1.托管执行环境 2.程序集 3.关键字:C#保留字 4.除了C#定义的关键字之外,开发者可以提供他们自己的名称,编程语言将这些名称称为标识符 5.如果关键字包含一个"@"前缀,那 ...
- java_jdbc_oracle简单总结(2016-11-23)
JDBC连接oracle的实例 好久没写过jdbc,基本忘干净了,随意插一个图,简单学习一下.然后干别的..... 使用jdbc操作数据库步骤是固定的 1.将驱动包导入到数据库,每一个数据库的驱动包都 ...
- LATEX学习笔记1
LATEX源文件的结构分三大部分,依次为:文档类声明.序言(可选).正文. 文档结构 \documentclass{article} \usepackage{amsmath} \usepackage{ ...
- Qt事件循环与状态机事件循环的思考
写下这个给自己备忘,关于事件循环以及多线程方面的东西我还需要多多学习.首先我们都知道程序有一个主线程,在GUI程序中这个主线程也叫GUI线程,图形和绘图相关的函数都是由主线程来提供.主线程有个事件循环 ...
- Linux 信号量互斥编程
所谓信号量,其实就是一个数字.内核给这个数字赋予一定的含义,让它等于不同的值时所表示的意义不同.这样就可以用它来标示某种资源是否正被使用.信号的分类其实挺多的,主要还是二值和计数器.这里讨论二值 现在 ...
- PreResultListener使用
PreResultListener是一个监听器接口,可以在Action处理完之后,系统转入实际视图前被回调. Struts2应用可以给Action.拦截器添加PreResultListener监听器, ...
- linux自定义开机启动服务
转 http://www.cnblogs.com/jimeper/archive/2013/03/12/2955687.html 手工创建服务 1.在/etc/rc.d/init.d目录下创建shel ...
- jquery前端性能优化(持续添加。。。)
1.选择器的使用 (1)$('#id') 使用id来定位dom元素是性能最高的方法.jQuery底层将直接调用本地方法document.getElementById().如果id直接可以找到所要对 ...
- python运维开发之第二天
一.模块初识: 1.模块定义 python是由一系列的模块组成的,每个模块就是一个py为后缀的文件,同时模块也是一个命名空间,从而避免了变量名称冲突的问题.模块我们就可以理解为lib库,如果需要使用某 ...
- Maven工程的Web调试
1.添加Server,将Web工程和Tomcat关联起来: 1)Windows->Show views->Other-->Servers,将会在下方弹出Server的窗口,然后右键添 ...