說明: 想通過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
如果能找到,直接下載也可以。如果還是找不到,就用本文的方式安裝。