基于OpenResty部署LUA脚本开发

OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。可以自己写LUA脚本实现大部分的WEB功能。

Nginx不依赖第三库的默认功能包括

  • 反向代理
  • 负载均衡
  • HTTP服务器
  • 正向代理

我们可以看到,其默认的功能很强大,但是我们也会偶尔有特殊的需求,需要根据需求来定制一些路由规则等等,因此就用到了OpenResty,这里我准备使用OpenResty 开发一个分发脚本,这个后续再说,今天先介绍OpenResty的安装以及通过LUA脚本简单的实现一个 hello world 的打印。

搭建OpenResty

其实 官网安装 上的搭建文档写的很清楚,我们照着一步一步操作就可以了。我使用的系统环境 centOS7,如果使用Ubuntu 等其他系统,可以参照 官网安装。

安装前的准备

安装 perl 5.6.1+, libpcre, libssl。

 

yum install pcre-devel openssl-devel gcc curl

基于OpenResty部署LUA脚本开发_第1张图片

 

基于OpenResty部署LUA脚本开发_第2张图片

 

 

安装OpenResty

我使用的 官方预编译包 安装的,如果离线的安装的话,可以参照官方安装文档即可。

添加 openresty 仓库

 

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo

基于OpenResty部署LUA脚本开发_第3张图片

 

安装软件包

 

sudo yum install -y openresty

基于OpenResty部署LUA脚本开发_第4张图片

 

安装命令行工具

 

sudo yum install -y openresty-resty

基于OpenResty部署LUA脚本开发_第5张图片

 

安装完成后,我们可以在目录 /usr/local下 看到安装好的 OpenResty。

基于OpenResty部署LUA脚本开发_第6张图片

 

LUA脚本开发 Hello World

引入开发包

首先Lua 脚本开发需要引入包,这些包放在了 /usr/local/openresty下。

基于OpenResty部署LUA脚本开发_第7张图片

 

我们打开 nginx.conf 文件

 

vim /usr/local/openresty/nginx/conf/nginx.conf

然后 引入 所需要的两个开发包

基于OpenResty部署LUA脚本开发_第8张图片

 

保存退出。

开发LUA脚本 输出Hello World

这里我就按照我的个人喜欢创建文件夹以及对应的文件,大家如果感兴趣,可以自己创建类似一个项目的文件目录。

  1. /usr/local/openresty/nginx下 创建名为 lua的目录

    mkdir /usr/local/openresty/nginx/lua
    
  2. lua目录下创建lua.conf文件

    vim lua.conf
    

    将以下内容输入进去

    server {
        listen       80;   
        server_name  _;    
    
        location /lua {
        default_type 'text/html';    
        content_by_lua_file /usr/local/openresty/nginx/lua/hello.lua;  
        }
    }
    
    

基于OpenResty部署LUA脚本开发_第9张图片

 

  1. lua目录下创建hello.lua脚本

    vi hello.lua
    

    将一下内容输入进入

    ngx.say("hello world");  
    

基于OpenResty部署LUA脚本开发_第10张图片

 

  1. 引入nginx配置文件 nginx.conf

    vim /usr/local/openresty/nginx/conf/nginx.conf
    

基于OpenResty部署LUA脚本开发_第11张图片

 

保存退出。

检验以及运行测试

使用以下命令检验

 

/usr/local/openresty/nginx/sbin/nginx -t

 

启动nginx

 

/usr/local/openresty/nginx/sbin/nginx

在浏览器输入当前服务 http://当前服务器IP/lua

基于OpenResty部署LUA脚本开发_第12张图片

 

部署成功并且脚本运行成功

你可能感兴趣的:(openresty)