• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

如何快速用openresty搭建高性能服务端(Nginx+lua)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

高性能服务端两个重要要素:缓存+语言支持异步非堵塞
缓存:内存>SSD>机械磁盘 本机>网络 进程内>进程间
异步非阻塞:事件驱动方式(事件完成后再通知)
OpenResty:颠覆了高性能服务端的开发模式(Nginx+LuaJIT)
Nginx:负载均衡+反向代理 Nginx c module
Lua:嵌入式脚本语言(网游中用的较多)
LuaJIT:OpenResty用的LuaJIT主打性能的Lua
OpenResty原理:LuaJIT的虚拟机嵌入到Nginx的worker中,所以效率特别高

对比:
node.js:第一门将异步非阻塞特性放入自己语言中的,但是node.js用回调callback实现异步非阻塞
Python:版本跨度大
Golang:
SystemTap:
BaaS:

openresty安装搭建

  • 使用 apt-get安装以下的开发库:
    apt-get install libpcre3-dev
    libssl-dev perl make build-essential curl

  • 下载
    从下载页 Download下载最新的 OpenResty® 源码包,并且像下面的示例一样将其解压:
    tar -xzvf openresty-VERSION.tar.gz
    VERSION 的地方替换成您下载的源码包的版本号,比如说 0.8.54.6。
    ./configure

  • 然后在进入 openresty-VERSION/ 目录, 然后输入以下命令配置:
    ./configure
    默认, --prefix=/usr/local/openresty 程序会被安装到/usr/local/openresty目录。
    您可以指定各种选项,比如
    ./configure --prefix=/opt/openresty
    –with-luajit
    –without-http_redis2_module
    –with-http_iconv_module
    –with-http_postgres_module
    试着使用 ./configure --help 查看更多的选项。
    配置文件(./configure script)运行出错可以到 build/nginx-VERSION/objs/autoconf.err 找到。 VERSION 的地方必须与OpenResty版本号相对应, 比如 0.8.54.6。

  • make
    您可以使用下面的命令来编译:
    make
    如果您的电脑支持多核 make 工作的特性, 您可以这样编译:
    make -j2
    假设您是的机器是双核。

  • make install
    如果前面的步骤都没有问题的话,您可以使用下面的命令安装l OpenResty到您的系统之中:make install
    在 Linux,通常包括 sudo来执行root权限做的事情。

  • 启动(路径请参考修改)
    sudo /opt/openresty/nginx/sbin/nginx -c /opt/openresty/nginx/conf/nginx.conf -p /opt/openresty/nginx/

  • 重启动:
    sudo /opt/openresty/nginx/sbin/nginx -c /opt/openresty/nginx/conf/nginx.conf -p /opt/openresty/nginx/

openserty连接MySQL

openserty连接Redis

openserty缓存

share_dic(纯内存工作。预置内存大小)

1、nginx.con修改加上:

2、修改lua(充分利用内存卡空间。多个worker用同一份数据。但是会产生锁的操作。)

lua-resty-lrucache(预置key个数;每个worker单独占用,不会产生锁的竞争;但是你内存占用叫道)


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Nginx详解二十二:Nginx深度学习篇之Lua解释器安装及基础语法发布时间:2022-07-22
下一篇:
Lua模块发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap