lnmp一键包(https://lnmp.org)本人在使用之后发现确实好用,能帮助我们快速搭建起lnmp、lamp和lnmpa的web生产环境,因此推荐大家可以多试试。但有的朋友可能需要使用openresty的lua扩展,这篇文章就会教你们怎么在军哥的一键包中为nginx安装openresty的lua扩展。

首先我们要先安装LuaJIT,为了稳定我选择的是稳定的2.0.4版本进行安装(我相信一个运维都懒得各种折腾各种修吧?)

cd /root
wget -c http://luajit.org/download/LuaJIT-2.0.4.tar.gz
tar zxf LuaJIT-2.0.4.tar.gz
cd LuaJIT-2.0.4
make

等这条命令执行完了之后,我们要接着执行:

make install PREFIX=/usr/local/luajit

再等在执行完毕,我们要下载openresty的nginx-lua扩展和ngx_devel_kit,不过我们要注意的是nginx-lua扩展更新的比较频繁,要先记得上github上看看他新的版本号然后再修改:

cd /root
wget -c https://github.com/openresty/lua-nginx-module/archive/v0.10.7.tar.gz && tar zxf v0.10.7.tar.gz
wget -c https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz && tar zxf v0.3.0.tar.gz

export LUAJIT_LIB=/usr/local/luajit/lib
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0 cat > /etc/ld.so.conf.d/luajit.conf<<EOF
/usr/local/luajit/lib
EOF ldconfig

下来我们要对LuaJIT做一些系统环境设置:


以上的命令依次执行,如果我们在安装了之后还要升级nginx的版本或者ngx_devel_kit、nginx-lua扩展、luaJIT中任何东西中的一种,以上的环境设置我们都还需要再重新执行一次才能正常升级。

接下来我们就要开始升级nginx版本了,在升级nginx版本之前,我们要在军哥的lnmp一键包目录下的lnmp.conf文件里的Nginx_Modules_Options加上编译参数:

--with-ld-opt=-Wl,-rpath,/usr/local/luajit/lib --add-module=/root/lua-nginx-module-0.10. --add-module=/root/ngx_devel_kit-0.3.

加上以上这段参数之后,我们就使用军哥的lnmp一键包中升级脚本

./upgrade.sh nginx

升级一遍nginx即可完成lua扩展的安装。可能有的朋友会问,版本号一定要比当前安装的版本号高么?我在这的回答是,并不用。

等重新编译完,nginx中就能使用lua扩展了。

在nginx的配置中,可以用一下脚本检测安装是否成功。

server {
listen ;
server_name _;
location /lua {
default_type 'text/html';
content_by_lua 'ngx.say("hello world")';
}
}

lua没有安装成功,/etc/init.d/nginx reload 是失败的

使用 http://服务器ip/lua 可以看到页面显示 hello world

本文转至:http://www.vpstry.com/archives/79.html

给lnmp一键包中的nginx安装openresty的lua扩展的更多相关文章

  1. nginx 安装第三方模块(lua)并热升级

    需求: nginx上将特定请求拒绝,并返回特定值. 解决办法: 使用lua脚本,实现效果. 操作步骤: 安装Luajit环境 重新编译nginx(目标机器上nginx -V 配置一致,并新增两个模块n ...

  2. lua使用笔记2:Linux 中安装php的lua扩展

    安装lua扩展的前提是lua已经安装好,如果没有安装,参照 1.http://pecl.php.net/package/lua 下载lua扩展 或者Linux下直接输入 wget http://pec ...

  3. linux下安装php的lua扩展

    1. 进入管理员权限使用yum安装 readline(也可以使用wget下载后./configure 然后 make && make install进行安装) yum install ...

  4. lnmp一键安装环境中nginx开启pathinfo

    问题及原理可参考:http://www.laruence.com/2009/11/13/1138.html 如果是用lnmp脚本一键安装的开发环境,可以通过如下方式开户pathinfo: 1.注释ng ...

  5. 三 , lnmp 一键包安装使用

    安装打包环境  #https://lnmp.org/----------------------------------------------------#安装wget -c http://soft ...

  6. Nginx下Magento伪静态规则,适用于LNMP一键包

    文件名为:magento.conf(下载),将其放在 /usr/local/nginx/conf/ 文件夹下 然后在 /usr/local/nginx/conf/vhost/www.yourname. ...

  7. LNMP一键包安装后解决MySQL无法远程连接问题

    MySQL/MariaDB无法远程连接,如何开启? 1,没有给root对应的权限 -- @'192.168.1.123'可以替换为@‘%’就可任意ip访问 mysql> GRANT ALL PR ...

  8. itop安装中使用nginx安装后不能出现enter itop的问题

    安装中没有出现enter itop,  如下的网络请求给了我们原因 原来使用的是域名请求资源文件,而该域名并不能指向我的服务器,所以安装中资源文件请求不成功,查看了我的nginx配置,如下 [ro ...

  9. LNMP一键包屏蔽PHP报错信息开启方法

    在 php-fpm.conf中的[www]下添加php_flag[display_errors] = On 重启php-fpm即可 /etc/init.d/php-fpm restart

随机推荐

  1. 解决不走onActivityResult方法

    最近在开发公司项目,在使用startActivityForResult关联俩个Activity中,发现A跳转到B,B设置setResult之后,A没有执行onActivityResult,查找一下,发 ...

  2. linux进程管理-定时定期执行任务

     0.计划任务的命令: at 安排作业在某一时刻执行 batch 安排作业在系统负载不重时执行 crontab 安排周期性运行的作业 1.at命令用法: 安排命令或者多个命令在指定的时间运行一次 语法 ...

  3. 20179205《Linux内核原理与分析》第一周作业

    输出 shiyanlou 图形字符的命令banner: 新建用户wangyazhe,输入密码不会显示出来: 利用sudo adduser添加一个用户 loutest,mkdir创建一个新的文件夹opt ...

  4. tenda t402 家庭版 有线路由器

    使用快速向导: adsl(拨号)+用户名+密码 路由器后DMZ主机设置简单图解:http://wenku.baidu.com/view/94b9f0768e9951e79b8927ce.html  可 ...

  5. ES的优化布局

    分词优化:IK Analyser Elastic Search 5.x官方提供的中文搜索并不友好,分词时经常将一句话分成很多单字,这时候可以使用IK Analyser插件进行优化,当然你在写java代 ...

  6. OC 06 Block、数组高级

    主要内容: ⼀.Block语法 ⼆.Block使⽤ 三.Block实现数组排序 Block简介 Block:块语法,本质上是匿名函数(没有名称的函数) 标准C⾥面没有Block,C语⾔言的后期扩展版本 ...

  7. WEB前端之HTML5~HTML5与HTML4的区别

    推出的理由及目标 WEB浏览器存在的问题包括以下三点 世界知名浏览器厂商对HTML5的支持 语法的改变 DOCTYPE的声明 XHTML的DOCTYPE声明方式 HTML4的DOCTYPE声明方式 H ...

  8. Leetcode 之Longest Common Prefix(33)

    在一组字符串中找到最长的子串.采用纵向匹配,遇到第一个不匹配的停止. string longestComPrefix(vector<string> &strs) { if (str ...

  9. private是自己私有的,protected是可以让孩子知道的,public是公开的

    三种访问权限 public:可以被任意实体访问,数据成员和函数成员可在成员函数,友元,继承类中直接使用.亦可以作为接口,供类的用户使用 protected:只允许子类及本类的成员函数访问,在基类中用法 ...

  10. 如何实现electron多页面间通信

    如何实现electron多页面间通信 1,业务需求: 总共有两个页面,页面A显示数据,页面B处理数据,主线程Main 2,实现的技术方案: 在主线程中打开页面A和B,B页面不进行显示,主要负责处理从A ...