• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >Lua > 安装Nginx+Lua开发环境

安装Nginx+Lua开发环境

作者:hebedich 字体:[增加 减小] 来源:互联网

hebedich 通过本文主要向大家介绍了nginx lua开发,跟我学nginx lua开发,nginx lua,nginx lua redis,nginx lua 安装等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

安装环境

安装步骤可以参考http://openresty.org/#Installation。

1、创建目录/usr/servers,以后我们把所有软件安装在此目录

mkdir -p /usr/servers 
cd /usr/servers/ 
</div>

2、安装依赖(我的环境是ubuntu,可以使用如下命令安装,其他的可以参考openresty安装步骤)

apt-get install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl 
</div>

3、下载ngx_openresty-1.7.7.2.tar.gz并解压

wget http://openresty.org/download/ngx_openresty-1.7.7.2.tar.gz 
tar -xzvf ngx_openresty-1.7.7.2.tar.gz 
</div>

ngx_openresty-1.7.7.2/bundle目录里存放着nginx核心和很多第三方模块,比如有我们需要的Lua和LuaJIT。

3、安装LuaJIT

cd bundle/LuaJIT-2.1-20150120/ 
make clean && make && make install 
ln -sf luajit-2.1.0-alpha /usr/local/bin/luajit 
</div>

4、下载ngx_cache_purge模块,该模块用于清理nginx缓存

cd /usr/servers/ngx_openresty-1.7.7.2/bundle 
wget https://github.com/FRiCKLE/ngx_cache_purge/archive/2.3.tar.gz 
tar -xvf 2.3.tar.gz 
</div>

5、下载nginx_upstream_check_module模块,该模块用于ustream健康检查

cd /usr/servers/ngx_openresty-1.7.7.2/bundle 
wget https://github.com/yaoweibin/nginx_upstream_check_module/archive/v0.3.0.tar.gz 
tar -xvf v0.3.0.tar.gz  
</div>

6、安装ngx_openresty

cd /usr/servers/ngx_openresty-1.7.7.2 
./configure --prefix=/usr/servers --with-http_realip_module  --with-pcre  --with-luajit --add-module=./bundle/ngx_cache_purge-2.3/ --add-module=./bundle/nginx_upstream_check_module-0.3.0/ -j2 
make && make install 
</div>

--with***                安装一些内置/集成的模块
--with-http_realip_module  取用户真实ip模块
-with-pcre               Perl兼容的达式模块
--with-luajit              集成luajit模块
 
--add-module            添加自定义的第三方模块,如此次的ngx_che_purge
 
7、到/usr/servers目录下

cd /usr/servers/ 
ll  
</div>

会发现多出来了如下目录,说明安装成功
/usr/servers/luajit :luajit环境,luajit类似于java的jit,即即时编译,lua是一种解释语言,通过luajit可以即时编译lua代码到机器代码,得到很好的性能;
/usr/servers/lualib:要使用的lua库,里边提供了一些默认的lua库,如redis,json库等,也可以把一些自己开发的或第三方的放在这;
/usr/servers/nginx :安装的nginx;
 
通过/usr/servers/nginx/sbin/nginx  -V 查看nginx版本和安装的模块

8、启动nginx

/usr/servers/nginx/sbin/nginx
</div>

接下来该配置nginx+lua开发环境了

配置环境

配置及Nginx HttpLuaModule文档在可以查看http://wiki.nginx.org/HttpLuaModule。

1、编辑nginx.conf配置文件

vim /usr/servers/nginx/conf/nginx.conf 
</div>

2、在http部分添加如下配置

#lua模块路径,多个之间”;”分隔,其中”;;”表示默认搜索路径,默认到/usr/servers/nginx下找 
lua_package_path "/usr/servers/lualib/?.lua;;";  #lua 模块 
lua_package_cpath "/usr/servers/lualib/?.so;;";  #c模块  
</div>

3、为了方便开发我们在/usr/servers/nginx/conf目录下创建一个lua.conf

#lua.conf 
server { 
    listen       80; 
    server_name  _; 
} 
</div>

4、在nginx.conf中的http部分添加include lua.conf包含此文件片段

inclu

您可能想查找下面的文章:

  • Nginx+lua 实现调用.so文件
  • Lua和Nginx结合使用的超级指南
  • 使用Lua编写Nginx服务器的认证模块的方法
  • 把Lua编译进nginx步骤方法
  • 使用nginx+lua实现信息访问量统计
  • 安装Nginx+Lua开发环境

相关文章

  • Lua中执行系统命令方法介绍
  • Lua中if语句嵌套的使用教程
  • Lua中的元表与元方法学习总结
  • Lua中的函数知识总结
  • Lua中__index和__newindex之间的沉默与合作
  • Lua教程(六):编译执行与错误
  • Lua的堆栈浅析
  • Lua中的迭代器(iterator)浅析
  • 浅谈Lua语句
  • Lua教程(十六):系统库(os库)

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Lua中的常用函数库汇总
    • lua文件操作详解
    • Lua中的repeat...until循环语句使用教程
    • Lua中__index和__newindex之间的沉默与合作
    • Lua调用自定义C模块
    • Lua中的函数浅析
    • Lua中字符串(string)浅析
    • Lua学习笔记之运算符和表达式
    • Lua检测数组(tabble)中是否包含某个值
    • Lua中关系运算符的使用教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有