Nginx安装lua-nginx-module模块的方法步骤

ngx_lua_module 是一个nginx http模块,它把 lua 解析器内嵌到 nginx,用来解析并执行lua 语言编写的网页后台脚本

特性很牛叉,可自行百度查看,这里主要是示范一下,如何在Nginx下安装lua-nginx-module模块

当然,如果你之前没有安装过Nginx,而且嫌安装麻烦,可直接下载openresty安装简单快捷,http://openresty.org/cn/installation.html(阿里的大牛章亦春的作品,膜拜~~~)

1.下载安装LuaJIT 2.1(2.0或者2.1都是支持的,官方推荐2.1):http://luajit.org/download.html

cd /usr/local/src
wget http://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz
tar zxf LuaJIT-2.1.0-beta2.tar.gz
cd LuaJIT-2.1.0-beta2
make PREFIX=/usr/local/luajit
make install PREFIX=/usr/local/luajit

2.下载ngx_devel_kit(NDK)模块 :https://github.com/simpl/ngx_devel_kit/tags,不需要安装

cd /usr/local/src
wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz
tar -xzvf v0.2.19.tar.gz

3.下载最新的lua-nginx-module 模块 :https://github.com/openresty/lua-nginx-module/tags,不需要安装

cd /usr/local/src
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.2.tar.gz
tar -xzvf v0.10.2.tar.gz

4.nginx -V查看已经编译的配置

nginx -V

笔者的配置如下:

代码如下:

--prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-openssl=../openssl-1.0.2h --with-pcre=../pcre-8.38 --with-pcre-jit --with-ld-opt=-ljemalloc --with-ld-opt=-Wl,-rpath,/usr/local/luajit/lib --add-module=/usr/local/src/ngx_devel_kit-0.2.19 --add-module=/usr/local/src/lua-nginx-module-0.10.2

5.进入之前安装nginx的解压目录,重新编译安装(在nginx -V得到的配置下,加入ngx_devel_kit-0.2.19和ua-nginx-module-0.10.2的目录),最终的配置如下:

设置环境变量

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

代码如下:

./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-openssl=../openssl-1.0.2h --with-pcre=../pcre-8.38 --with-pcre-jit --with-ld-opt='-ljemalloc' --with-ld-opt="-Wl,-rpath,/usr/local/luajit/lib" --add-module=/usr/local/src/ngx_devel_kit-0.2.19 --add-module=/usr/local/src/lua-nginx-module-0.10.2

6.编译安装

make -j2
make install

7.查看是否编译成功

在/usr/local/nginx/conf/nginx.conf中加入如下代码:

location /hello_lua {
   default_type 'text/plain';
   content_by_lua 'ngx.say("hello, lua")';
}

重启nginx:

service nginx restart

访问10.211.55.3/hello_lua会出现”hello, lua”表示安装成功

hello, lua

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • cocos2dx+lua实现橡皮擦功能

    游戏中刮刮乐是怎么实现的?做了一个小例子看了一下. 实现原理:随着触摸点的移动,通过setBlendFunc函数设置部分区域的颜色混合(将上层图片透明度为0,底层我们想要的图片就显示出来) --橡皮擦功能测试 local function initInfo() local scene = CCScene:create() local layer = CCLayer:create() scene:addChild(layer) --擦除后要显示的图片 local tupian = CCSprite

  • Lua中三种循环语句的使用讲解

    Lua的循环和C语言的循环的语法其实差不多,所以,理解起来就很好理解的啦,所以实现也很简单,跟C没什么两样,都差不多. 案例如下: test1.lua -- 1.while循环 --[[ 理解为C语言的就行了,其实差不多的 语法格式: while(true) do 执行语句 end ]] --定义一个全局变量a=0 a=0 -- while(true) do a=a+1 print("a:",a) if(a == 5) then break end end -- 2.for循环 --[

  • Lua游戏开发教程之时区问题详解

    前言 什么是Lua? Lua 是一个小巧的脚本语言,巴西里约热内卢天主教大学里的一个研究小组于1993年开发,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能.Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行.一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的.这一切都决定了Lua是作为嵌入式脚本的最佳选择.相比Python和Per的内核,Lua的内核小于120KB,而Python的内核大约860KB,Perl的内核大约1.1M

  • Centos7 安装Nginx整合Lua的示例代码

    前言 本人的使用的电脑是Mac,操作系统是macOS Mojave.电脑上装有虚拟机. 虚拟机上安装Centos7操作系统,在其之上安装Nginx及Luau类库,整个过程是在系统安装完成之后开始记录. 建议安装前先拍快照,出现问题可以恢复 准备工作 如果安装的Linux能够联网,并且外部也能正常使用Linux的端口,那么可以忽略下面两部 1.设置自动获取ip (1)在Linux上输入命令 [root@localhost ~]ip addr #查看ip [root@localhost ~]nmcl

  • Luvit像Node.js一样写Lua应用

    luvit是什么?它是目前Lua这个小众语言中较为流行的一个开源框架,给那些习惯使用Lua的开发者一个机会向写Node.js一样用Lua进行开发,它是Lua的Node.js.在Gitlab上,项目的描述对于Luvit是这样描述的:Lua + libUV + jIT = pure awesomesauce. 概要信息 安装 提供了安装脚本进行一键安装,但是版本不是最新,如果需要最新的版本,可以从源码开始 curl -L https://github.com/luvit/lit/raw/master

  • 安装Nginx+Lua开发环境

    首先我们选择使用OpenResty,其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用.借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序.而且OpenResty提供了大量组件如Mysql.Redis.Memcached等等,使在Nginx上开发Web应用更方便更简单.目前在京东如实时价格.秒杀.动态服务.单品页.列表页等都在使用Nginx+Lua架构,其他公司如淘宝.去哪儿网等. 安装环境

  • Lua在各个操作系统中的开发环境配置教程

     Lua开发环境设置 如果愿意设置您的Lua编程语言环境中,需要用计算机上的以下两个软件,(a)文字编辑器,(b)Lua解释,以及(c)Lua编译器. 文本编辑器 这将被用来输入编写程序.一些编辑器包括Windows记事本,操作系统Edit命令,Brief,Epsilon,Emacs和VIM或VI. 文本编辑器名称和版本可以在不同的操作系统上.例如,记事本可用Windows上,vim或者vi可以在Windows以及Linux或UNIX上使用. 编辑器创建文件称为源文件和包含程序的源代码.在Lua

  • Lua中的变量与赋值方法

    看以下案例: test.lua -- 第一个lua脚本 --注释使用"--"符 --变量未定义时,默认初始化的值为nil --这样的定义为全局 num1 = 1 ; --加了关键字local表示这个变量是局部变量 local num2 = 2 ; --定义变量的末尾不加分号;也是可以的,个人建议,因为Lua是C写的,写分号还是规范点 num3 = 3 --定义一个函数,目的是实现两数相加并返回 function add() --a = 1 也可以在函数内部定义 --b = 2 retu

  • Lua协同程序coroutine的简介及优缺点

    什么是协同(coroutine)? Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西. 协同是非常强大的功能,但是用起来也很复杂. 线程和协同程序区别 协程是编译器级别的,线程是操作系统级别的,在多处理器情况下,多线程程序同时运行多个线程:而协同程序是通过协作来完成,在任一指定时刻只有一个协同程序在运行,并且这个正在运行的协同程序只在必要时才会被挂起.这样Lua的协程就不能利用现在多核技术了.

  • lua开发中实现MVC框架的简单应用

    先简单说说MVC,即Model View Controller.Model(模型),一般负责数据的处理:View(视图),一般负责界面的显示:Controller(控制器),一般负责前端的逻辑处理.拿一款手机游戏来说,界面UI的显示.布局等就是View负责:点击了按钮,手势的滑动等操作由Controller来处理:游戏中需要的数据资源就交给Model. 接下来,看看在游戏开发中怎么用,这里用Lua(环境使用cocos code ide)给大家说说. 先来看看项目的目录结构: 其中cocos.Co

随机推荐