说明: 想通过Lua 脚本实现 http。默认 FS 的 mod_lua 中没有对socket 的支持,如下的操作为lua 添加 socket的支持。
一、下载 luasocket 包:
# wget http://luaforge.net/frs/download.php/2664/luasocket-2.0.2.tar.gz
# tar zxvf luasocket-2.0.2.tar.gz二、查看FS默认安装包得路径:
# lua
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> require "socket"
stdin:1: module 'socket' not found: no field package.preload['socket'] no file './socket.lua' no file '/usr/share/lua/5.1/socket.lua' no file '/usr/share/lua/5.1/socket/init.lua' no file '/usr/lib64/lua/5.1/socket.lua' no file '/usr/lib64/lua/5.1/socket/init.lua' no file './socket.so' no file '/usr/lib64/lua/5.1/socket.so' no file '/usr/lib64/lua/5.1/loadall.so'stack traceback: [C]: in function 'require' stdin:1: in main chunk [C]: ?
三、进入luasocket 目录,修改 config 文件 中编译安装的路径,与FS lua 调用路径一致:
# cd luasocket-2.0.2
修改后代码:
INSTALL_TOP_SHARE=/usr/share/lua/5.1
INSTALL_TOP_LIB=/usr/lib64/lua/5.1保存。
四、编译和安装
# make
# make install
五、测试
# lua
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> require "socket">没有错误提示,意味着安装成功。
注:还可以通过yum install luasocket 的方式直接安装
如果 yum install luasocket 找不到该包,尝试
# yum search luasocket | grep lua
============================ N/S Matched: luasocket ============================luasocket.x86_64 : Network socket extension for Lua如果能找到,直接下载也可以。如果还是找不到,就用本文的方式安装。