博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安装OpenResty开发环境
阅读量:6533 次
发布时间:2019-06-24

本文共 4220 字,大约阅读时间需要 14 分钟。

  OpenResty是一个基于  与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关(摘自)。本文将会介绍如何在Centos7上,安装Nginx+Lua的开发环境,并运行一个“Hello World”示例。

一、环境安装

1.1 创建工作路径

  我计划将Openresty安装到/usr/servers下,首先创建这个文件夹。

[root@localhost ~]# mkdir -p /usr/servers  [root@localhost ~]# cd /usr/servers/[root@localhost servers]#

1.2 安装依赖库

[root@localhost servers]# yum install readline-devel pcre-devel openssl-devel perl  make gcc -y

1.3 下载Nginx及要安装的模块

  其中,ngx_cache_purge模块用于清理nginx缓存,nginx_upstream_check_module用于ustream的健康检查。

[root@localhost servers]# pwd/usr/servers[root@localhost servers]# wget http://openresty.org/download/ngx_openresty-1.7.7.2.tar.gz  [root@localhost servers]# tar -xzvf ngx_openresty-1.7.7.2.tar.gz  [root@localhost servers]# cd /usr/servers/ngx_openresty-1.7.7.2/bundle  [root@localhost bundle]# pwd/usr/servers/ngx_openresty-1.7.7.2/bundle[root@localhost bundle]# wget https://github.com/FRiCKLE/ngx_cache_purge/archive/2.3.tar.gz  [root@localhost bundle]# tar -xvf 2.3.tar.gz [root@localhost bundle]# cd /usr/servers/ngx_openresty-1.7.7.2/bundle [root@localhost bundle]# pwd/usr/servers/ngx_openresty-1.7.7.2/bundle[root@localhost bundle]# wget https://github.com/yaoweibin/nginx_upstream_check_module/archive/v0.3.0.tar.gz  [root@localhost bundle]# tar -xvf v0.3.0.tar.gz

1.4 安装LuaJIT

[root@localhost bundle]# cd /usr/servers/ngx_openresty-1.7.7.2/bundle/LuaJIT-2.1-20150120/[root@localhost LuaJIT-2.1-20150120]# pwd/usr/servers/ngx_openresty-1.7.7.2/bundle/LuaJIT-2.1-20150120[root@localhost LuaJIT-2.1-20150120]# make clean && make && make install  [root@localhost LuaJIT-2.1-20150120]# ln -sf luajit-2.1.0-alpha /usr/local/bin/luajit  [root@localhost LuaJIT-2.1-20150120]# lua -vLua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio[root@localhost LuaJIT-2.1-20150120]# luajit -vLuaJIT 2.1.0-alpha -- Copyright (C) 2005-2015 Mike Pall. http://luajit.org/

1.5 安装ngx_openresty

[root@localhost LuaJIT-2.1-20150120]# cd /usr/servers/ngx_openresty-1.7.7.2 [root@localhost ngx_openresty-1.7.7.2]# pwd/usr/servers/ngx_openresty-1.7.7.2[root@localhost 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 [root@localhost ngx_openresty-1.7.7.2]# make && make install

  至此,基本的环境已经安装完成了,nginx可执行文件为:/usr/servers/nginx/sbin/nginx,可以通过/usr/servers/nginx/sbin/nginx -V 命令来查看nginx的版本及安装的模块。

二、环境配置及示例

 2.1 配置nginx.conf

  nginx.conf是Nginx的主配置文件,所有的配置都是从这里开始的。我的计划是将lua脚本、依赖库配置、与lua相关的server、location等配置都放到外部的目录中,这样不用每次都动到nginx.conf。修改/usr/servers/nginx/conf/nginx.conf,如下:

[root@localhost ~]# cat /usr/servers/nginx/conf/nginx.conf worker_processes  1;error_log  logs/error.log;events {    worker_connections  1024;}http {    include       mime.types;      default_type  text/html;      #lua模块路径    lua_package_path "/usr/example/lualib/?.lua;;";  #lua 模块      lua_package_cpath "/usr/example/lualib/?.so;;";  #c模块      include /usr/example/example.conf; }

2.2 配置example.conf

[root@localhost ~]# mkdir /usr/example[root@localhost ~]# vim /usr/example/example.conf[root@localhost ~]# cat /usr/example/example.confserver {    listen       80;    server_name  _;    location /lua {        default_type 'text/html';        lua_code_cache off;        content_by_lua_file /usr/example/lua/test.lua;    }}

2.3 示例——test.lua

[root@localhost ~]# mkdir /usr/example/lua[root@localhost ~]# vim /usr/example/lua/test.lua[root@localhost ~]# cat /usr/example/lua/test.luangx.say("hello world");

2.4 验证

  首先启动nginx,你会发现nginx给了一个警告,这句警告是因为在/usr/example/example.conf的第7行上,我们关闭了lua_code_cache。这个配置默认是打开的,即Nginx在启动的时候会将lua脚本都cache起来,这样系统在调用这些脚本时就会很快。而关闭这个配置的话,nginx每次调用都会重新load一遍,会对性能有一定的影响。因为我们是在开发环境,我们不希望更改脚本之后就重启nginx,所以就把这个配置给关闭了。

[root@localhost ~]# /usr/servers/nginx/sbin/nginx nginx: [alert] lua_code_cache is off; this will hurt performance in /usr/example/example.conf:7

接下来在浏览器中访问对应的路径,你会得到如下的结果。(提示:若没有出现,可以检查一下系统防火墙)

 

备注:

centos下还可以通过yum的方式安装openresty,但在国内的网络环境下,这种方式时灵时不灵(国外的主机上就没有问题),我怀疑是国内网络的问题。有兴趣的同学可以尝试下。具体命令如下:

yum install yum-utilsyum-config-manager --add-repo https://openresty.org/yum/centos/OpenResty.repoyum install openresty

 

转载地址:http://uwzdo.baihongyu.com/

你可能感兴趣的文章
ubuntu samba服务器多用户配置【转】
查看>>
母线的种类与作用是什么(转)
查看>>
【Xamarin 挖墙脚系列:IOS 开发界面的3种方式】
查看>>
Atitit.工作流系统的本质是dsl 图形化的dsl 4gl
查看>>
I.MX6 Android USB Touch eGTouchA.ini文件存放
查看>>
4-5-创建索引表-串-第4章-《数据结构》课本源码-严蔚敏吴伟民版
查看>>
java 操作 RabbitMQ 发送、接受消息
查看>>
go run main.go undefined? golang main包那点事
查看>>
前端进阶(13) - 搭建自己的前端脚手架
查看>>
数据挖掘(二):认识数据
查看>>
从零开始写一个npm包,一键生成react组件(偷懒==提高效率)
查看>>
Golang中的路由
查看>>
【期末考试季】JAVA进阶复习提纲
查看>>
Volley(二)—— 基本Request对象 & RequestQueue&请求取消
查看>>
2017中国系统架构师大会“盛装”来袭
查看>>
Google插件switchysharp的用法
查看>>
中国最强的人工智能学术会议来了
查看>>
Metasploit的射频收发器功能 | Metasploit’s RF Transceiver Capabilities
查看>>
Osmocom-BB中cell_log的多种使用姿势
查看>>
主库 归档 删除策略
查看>>