centOS部署lapis全过程

1 篇文章 0 订阅
1 篇文章 0 订阅

系统:centOS 6.8

依赖环境:Lua,luarocks,openresty
注意:由于lapis目前只支持lua5.1,所以不要安装别的版本,安装顺序请依照本文的顺序来操作,lua、openresty、luarocks、lapis

1、lua
注意:centOS 6.8自带了一个lua5.1.4的版本,建议自己编译安装一个5.1.5的,要不然后面要踩很多坑
先安装lua的依赖包
yum install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make readline-devel

这里有所有版本:
http://www.lua.org/download.html
下载最新的版本:
http://www.lua.org/ftp/lua-5.1.5.tar.gz
解压后
记得修改一下MakeFile
INSTALL_TOP= /usr/local/lua
保存后开始安装
make linux test
make install
cd src
mkdir -p /usr/local/bin /usr/local/include /usr/local/lib /usr/local/man/man1 /usr/local/share/lua/5.3 /usr/local/lib/lua/5.3
install -p -m 0755 lua luac /usr/local/bin
install -p -m 0644 liblua.a /usr/local/lib
install -p -m 0644 lua.1 luac.1 /usr/local/man/man1

2、openresty
注意:不要采用官网的yum安装方法,后面涉及到luarocks的整合,要不然会找不到很多包的路径
安装openresty需要的依赖包
yum install readline-devel pcre-devel openssl-devel perl postgresql-devel openssl
版本列表:http://openresty.org/cn/download.html
最新下载地址:https://openresty.org/download/openresty-1.11.2.5.tar.gz
./configure --prefix=/usr/local/openresty --with-luajit --without-http_redis2_module --with-http_iconv_module --with-http_postgres_module
gmake
gmake install
附上官网的yum安装方法:
先添加openresty的yum源
sudo yum-config-manager --add-repo https://openresty.org/yum/cn/centos/OpenResty.repo
sudo yum install openresty

3、luarocks
注意:这里需要将luarocks整合到openresty中,要不然后面使用lapis时会出现包找不到的情况,所以prefix那些目录都是填写openresty的luajit相关目录

所有版本列表:http://luarocks.github.io/luarocks/releases/
最新下载地址 :http://luarocks.github.io/luarocks/releases/luarocks-2.4.4.tar.gz
./configure; sudo make bootstrap
make build
make install
附上官网的yum安装方法:
luarucks如果没有需要添加一个新yum源
epel中包含后面需要的luarocks,所以先安装这个资源包
yum install epel-release.noarch
安装完毕后再安装luarocks
yum install luarocks.noarch

4、lapis
luarocks install lapis
安装过程中会自动安装lapis需要的依赖包
如果安装时出现lua-cjson装不上,报错
可以通过之前的openresty编译包中找到lua-cjson
/opt/openresty-1.11.2.5/build/lua-cjson-2.1.0.5
通过luarocks make 来进行安装
[root@zhou lua-cjson-2.1.0.5]# luarocks make
gcc -O2 -fPIC -I/usr/local/openresty/luajit/include/luajit-2.1 -c lua_cjson.c -o lua_cjson.o
gcc -O2 -fPIC -I/usr/local/openresty/luajit/include/luajit-2.1 -c strbuf.c -o strbuf.o
gcc -O2 -fPIC -I/usr/local/openresty/luajit/include/luajit-2.1 -c fpconv.c -o fpconv.o
gcc -shared -o cjson.so -L/usr/local/openresty/luajit//lib lua_cjson.o strbuf.o fpconv.o
lua-cjson 2.1devel-1 is now installed in /usr/local/openresty/luajit (license: MIT)
出现上面信息代表cjson也已经安装成功,可以开始安装lapis了
附上成功启动后的页面

最后附上之前采坑时遇到的错误
1、content_by_lua(nginx.conf.compiled:22):2: module ‘lapis’ not found
这个是由于luarocks与openresty没有整合,虽然lapis已经安装成功,但是启动服务后,nginx会报这个错,所以在安装luarocks时一定要与openresty整合
2、
Installing https://luarocks.org/lua-cjson-2.1.0-1.src.rock
gcc -O2 -fPIC -I/usr/local/openresty/luajit/include/luajit-2.1 -c lua_cjson.c -o lua_cjson.o
lua_cjson.c:1299: 错误:对‘luaL_setfuncs’的静态声明出现在非静态声明之后
/usr/local/openresty/luajit/include/luajit-2.1/lauxlib.h:88: 附注:‘luaL_setfuncs’的上一个声明在此
Error: Failed installing dependency: https://luarocks.org/lua-cjson-2.1.0-1.src.rock - Build error: Failed compiling object lua_cjson.o
上面这个错误,最后我是通过找到openresty的编译包的/opt/openresty-1.11.2.5/build/lua-cjson-2.1.0.5 目录中,通过luarocks make 直接安装成功的,这样也就避免了luarocks自己安装依赖c-json时出现的错误

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值