美文网首页设计方案
基于OpenResty部署Nginx以及LUA脚本开发

基于OpenResty部署Nginx以及LUA脚本开发

作者: NealLemon | 来源:发表于2020-02-07 17:19 被阅读0次

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
nginx1.jpg nginx2.jpg nginx3.jpg

安装OpenResty

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

添加 openresty 仓库

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

安装软件包

sudo yum install -y openresty
nginx5.jpg

安装命令行工具

sudo yum install -y openresty-resty
nginx6.jpg

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

nginx7.jpg

LUA脚本开发 Hello World

引入开发包

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

nginx8.jpg

我们打开 nginx.conf 文件

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

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

nginx9.jpg

保存退出。

开发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;  
        }
    }
    
    
nginx10.jpg
  1. lua目录下创建hello.lua脚本

    vi hello.lua
    

    将一下内容输入进入

    ngx.say("hello world");  
    
nginx11.jpg
  1. 引入nginx配置文件 nginx.conf

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

保存退出。

检验以及运行测试

使用以下命令检验

/usr/local/openresty/nginx/sbin/nginx -t
nginx13.jpg

启动nginx

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

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

nginx14.jpg

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

小结

LUA脚本语法以及NGINX相关模块配置,都需要自己去百度了解,毕竟我是JAVA开发,不能完全彻底的掌握,希望有错误的地方大家保函,共同进步。

相关文章

网友评论

    本文标题:基于OpenResty部署Nginx以及LUA脚本开发

    本文链接:https://www.haomeiwen.com/subject/ggfvxhtx.html