说明: 想通过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
如果能找到,直接下载也可以。如果还是找不到,就用本文的方式安装。