路漫漫其修远兮
吾将上下而求索

nginx学习:lua-gd库和lua-lfs库安装

说明:gd对应的依赖和lfs对应的依赖,要在每个机器上面编译安装。不能拷贝,因为编译的路径不一定相同,可能导致不正常使用
需要先看《nginx学习:添加lua模块》章节,将lua相关的依赖安装好
作用:lua-gd库是生成图片主要的类库,这里的主要作用是用来生成验证码图片
环境:centos7.2

1、下载luagd库
[root@master-22 ~]#wget https://github.com/ittner/lua-gd/archive/master.zip

2、修改编译引导文件Makefile
将Makefile中某些配置修改为与自身环境相匹配的参数,主要修改以下参数

#修改lua命令为实际安装的命令,查看本机的命令有没有
LUABIN=lua

需要注释49-65行的编译段落,开启72-78行的注释,修改下面
#输出的动态链接库的名称
OUTFILE=gd.so
#编译参数(固定值,不需修改)
CFLAGS=-O3 -Wall -fPIC $(OMITFP)
#指定编译时包含文件的路径(这里主要指定luajit的安装路径,根据实际情况定)
CFLAGS+=`$(GDLIBCONFIG) --cflags` -I/usr/local/luajit/include/luajit-2.1
CFLAGS+=-DVERSION=\"$(VERSION)\"
GDFEATURES=`$(GDLIBCONFIG) --features |sed -e "s/GD_/-DGD_/g"`
LFLAGS=-shared `$(GDLIBCONFIG) --ldflags` `$(GDLIBCONFIG) --libs` -lgd
#指定安装目录(一般是luajit中的lua标准库的目录,根据实际情况定)
INSTALL_PATH=/usr/local/luajit/lib/lua/5.1

3、编译生成动态链接库
make
如果编译出错,如果提示gdlib-config not found,则说明libgd库可能没有安装(就是gd库没有安装,lua-gd只是一个lua针对gd的扩展):yum install gd-devel

4、将编译生成的动态链接库gd.so放入到/usr/local/luajit/lib/lua/5.1/下
cp gd.so /usr/local/luajit/lib/lua/5.1/


安装lfs库文件
下载源码
[root@master-22 ~]#wget https://github.com/keplerproject/luafilesystem/archive/master.zip

修改config文件
include目录改为实际的目录:LUA_INC += -I/usr/local/luajit/include/luajit-2.1

然后执行:make 

把动态文件拷贝到自己定义的目录下面
cp src/lfs.so  /usr/local/luajit/lib/lua/5.1/

参考文档:https://www.shixinke.com/openresty/captcha-built-by-lua-gd

未经允许不得转载:江哥架构师笔记 » nginx学习:lua-gd库和lua-lfs库安装

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址