共计 2439 个字符,预计需要花费 7 分钟才能阅读完成。

lua也有类似composer/mvn/pip的的包管理器,那就是luarocks
博主这里已安装过openresty,今日要安装下luarocks包管理来使用第三方包
luarocks部署
# luarocks下载
[root@nginx-cluster src]# wget https://github.com/luarocks/luarocks/archive/v3.0.0.tar.gz
[root@nginx-cluster src]# tar -zvxf v3.0.0.tar.gz
[root@nginx-cluster src]# cd luarocks-3.0.0
# luarocks编译安装
[root@nginx-cluster luarocks-3.0.0]# ./configure --prefix=/usr/local/openresty/luajit \
> --with-lua=/usr/local/openresty/luajit/ \
> --lua-suffix=jit \
> --with-lua-include=/usr/local/openresty/luajit/include/luajit-2.1
--lua-suffix is no longer necessary.
The suffix is automatically detected.
Configuring LuaRocks...
Lua version detected: 5.1
Lua interpreter found: /usr/local/openresty/luajit/bin/luajit
lua.h found: /usr/local/openresty/luajit/include/luajit-2.1/lua.h
unzip found in PATH: /usr/bin
Done configuring.
LuaRocks will be installed at......: /usr/local/openresty/luajit
LuaRocks will install rocks at.....: /usr/local/openresty/luajit
LuaRocks configuration directory...: /usr/local/openresty/luajit/etc/luarocks
Using Lua from.....................: /usr/local/openresty/luajit
Lua include directory..............: /usr/local/openresty/luajit/include/luajit-2.1
* Type make and make install:
to install to /usr/local/openresty/luajit as usual.
* Type make bootstrap:
to install LuaRocks into /usr/local/openresty/luajit as a rock.
# 安装luarocks
[root@nginx-cluster luarocks-3.0.0]# make build
[root@nginx-cluster luarocks-3.0.0]# make install
# 查看版本
[root@nginx-cluster lua]# luarocks --version
/usr/bin/luarocks 3.0.0
LuaRocks main command-line interface
lua第三方仓库地址:https://luarocks.org/
安装包命令
[root@nginx-cluster lua]# luarocks install dkjson
Warning: falling back to curl - install luasec to get native HTTPS support
Installing https://luarocks.org/dkjson-2.6-1.src.rock
dkjson 2.6-1 is now installed in /usr/local/openresty/luajit (license: MIT/X11)
安装到自定义路径
[root@nginx-cluster lua]# luarocks install dkjson --tree=./lua_pkg
openresty加载使用luarock的包
此处使用MD5包
[root@nginx-cluster lua]# luarocks install md5
在nginx主配置文件的http块中定义lua_package_path
[root@nginx-cluster conf]# cat nginx.conf
worker_processes 4;
events {
worker_connections 65535;
}
error_log logs/error.log info;
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
lua_package_path '$prefix/lua/?.lua;/blah/?.lua;;';
include conf.d/*;
}
加载模块
server {
listen 8084;
location = /luarocks {
content_by_lua '
local rocks = require "luarocks.loader"
local md5 = require "md5"
ngx.say("hello, luarocks!")
ngx.say(md5.sumhexa("xadocker"))
';
}
}
测试访问
[root@nginx-cluster ~]# curl 127.0.0.1:8084/luarocks
hello, luarocks!
660277a884f0c5bacffd3a0ed5c148ba
正文完
隐私政策
留言板
金色传说
kubernetes
terraform
云生原
helm
代码编程
Java
Python
Shell
DevOps
Ansible
Gitlab
Jenkins
运维
老司机
Linux 杂锦
Nginx
数据库
elasticsearch
监控
上帝视角
DJI FPV
DJI mini 3 pro
关于本站