Linux系统下如何搭建luarocks环境

1. notes

  • 本文中 openrestygitnode 为随手记录;
  • 主要搭建 luarocks 环境,测试实现openresty部分功能;

2. luarocks

  • lua或luajit安装一个即可
1
2
3
4
5
6
7
8
9
10
11
wget https://luarocks.org/releases/luarocks-3.3.1.tar.gz
 
tar -zxpf luarocks-3.3.1.tar.gz
 
luarocks -h
 
luarocks list
 
luarocks install luafilesystem
# 还可以指定你安装的包的存放路径
luarocks install package --tree=path

3. lua – luarocks

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
yum install -y readline-devel
 
# 系统原有lua,通过以下命令查看版本
lua -v
 
# 安装同版本或稳定版本
wget http://www.lua.org/ftp/lua-5.1.4.tar.gz
tar -zxvf lua-5.1.4.tar.gz
 
# make linux test
cd lua-5.1.4
echo "INSTALL_TOP= /usr/local/lua_5.1.4" >> Makefile
make linux && make install
 
cd luarocks-3.3.1
# lua - configure
./configure --prefix=/usr/local/luarocks_3.3.1 --with-lua=/usr/local/lua_5.1.4 --with-lua-include=/usr/local/lua_5.1.4/include/
 
make && make install
 
# lua require('cjson')
luarocks install lua-cjson
 
# Maybe Globals Env Note Settings
export LUALOCKS_HOME=/usr/local/luarocks_3.3.1
export LUA_HOME=/usr/local/lua_5.1.4
export LUA_PATH="$LUALOCKS_HOME/share/lua/5.1/?.lua;?.lua;;"
export LUA_CPATH="$LUALOCKS_HOME/lib/lua/5.1/?.so;?.so;;"
 
export PATH = $PATH:$HOME/bin:$LUALOCKS_HOME/bin:$LUA_HOME/bin

4. luajit – luarocks

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
cd luarocks-3.3.1
# luajit - configure
./configure --prefix=/usr/local/luajit/
--with-lua=/usr/local/luajit/
--lua-suffix=jit
--with-lua-include=/usr/local/luajit/include/luajit-2.0
--rocks-tree=/usr/local/
 
# --prefix 设定 luarocks 的安装目录
# --with-lua 则是系统中安装的 lua 的根目录
# --lua-suffix 版本后缀,此处因为openresyt的lua解释器使用的是 luajit, 所以此处得写 jit
# --with-lua-include 设置 lua 引入一些头文件头文件的目录
 
make && make install
 
vim ~/.bashrc
export LUAJIT_LIB=/usr/local/luajit/lib
export LUAJIT_INC=$LUAJIT_LIB/include/luajit-2.0
 
ln -s /usr/local/bin/luarocks /usr/bin/luarocks
# 删除软连接
# rm /usr/bin/luarocks
 
# luajit require('cjson')
luarocks install lua-cjson

5. openresty

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Yum Install
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
 
yum install -y openresty
 
# Or 编译安装
wget https://openresty.org/download/openresty-1.19.3.1.tar.gz
tar -zxvf openresty-1.19.3.1.tar.gz
 
# 下载所需插件,如下示例
wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz
tar -zxvf ngx_cache_purge-2.3.tar.gz # 解压缓存插件, /usr/local/src/ngx_cache_purge-2.3
 
# 编译 OpenResty
./configure --prefix=/usr/local/openresty --with-luajit --without-
http_redis2_module --with-http_stub_status_module --with-http_v2_module --with-
http_gzip_static_module --with-http_sub_module
--add-module=/usr/local/src/ngx_cache_purge-2.3 # 配置缓存插件的源码路径
 
# 安装 OpenResty
gmake && gmake install
 
cd luarocks-3.3.1
# luajit - configure, --prefix 为 OpenResty --prefix - luajit
./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
 
make
sudo make install

6. git

1
yum -y install git

7. node

1
2
wget https://nodejs.org/dist/v16.19.1/node-v16.19.1-linux-x64.tar.xz
tar -C /usr/local --strip-components 1 -xJf node-v16.19.1-linux-x64.tar.xz

8. openresty conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
./configure --prefix=/usr/local/openresty/nginx
--with-cc-opt='-O2 -DNGX_LUA_ABORT_AT_PANIC -I/usr/local/openresty/zlib/include -I/usr/local/openresty/pcre/include -I/usr/local/openresty/openssl111/include'
--with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib -L/usr/local/openresty/zlib/lib -L/usr/local/openresty/pcre/lib -L/usr/local/openresty/openssl111/lib -Wl,-rpath,/usr/local/openresty/zlib/lib:/usr/local/openresty/pcre/lib:/usr/local/openresty/openssl111/lib'
--with-cc='ccache gcc -fdiagnostics-color=always'
--with-pcre-jit
--with-stream
--with-stream_ssl_module -
-with-stream_ssl_preread_module
--with-http_v2_module
--without-mail_pop3_module
--without-mail_imap_module
--without-mail_smtp_module
--with-http_stub_status_module
--with-http_realip_module
--with-http_addition_module
--with-http_auth_request_module
--with-http_secure_link_module
--with-http_random_index_module
--with-http_gzip_static_module
--with-http_sub_module
--with-http_dav_module
--with-http_flv_module
--with-http_mp4_module
--with-http_gunzip_module
--with-threads
--with-compat
--with-stream
--with-http_ssl_module
--add-module=../ngx_devel_kit-0.3.1
--add-module=../echo-nginx-module-0.62
--add-module=../xss-nginx-module-0.06
--add-module=../ngx_coolkit-0.2
--add-module=../set-misc-nginx-module-0.33
--add-module=../form-input-nginx-module-0.12
--add-module=../encrypted-session-nginx-module-0.09
--add-module=../srcache-nginx-module-0.32
--add-module=../ngx_lua-0.10.21
--add-module=../ngx_lua_upstream-0.07
--add-module=../headers-more-nginx-module-0.33
--add-module=../array-var-nginx-module-0.05
--add-module=../memc-nginx-module-0.19
--add-module=../redis2-nginx-module-0.15
--add-module=../redis-nginx-module-0.3.9
--add-module=../ngx_stream_lua-0.0.11

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/server/linux/12659.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部