æ两ç§æ¹å¼ï¼ä¸ç§æ¯apache2.3以ä¸ä¼å
ç½®çlua moduleï¼å¤§å®¶å¯ä»¥ä¸è½½apache httpd 2.3.8ç代ç ï¼å¨modulesç®å½ä¸æluaè¿ä¸ªç®å½ã
å¦å¤ä¸ç§æ¯ä»å¤©è¦ä»ç»çï¼ä½¿ç¨wsapiæ¹å¼ã
æ们使ç¨ubuntuæå¡å¨ï¼å
ç¡®ä¿lua5.14以åapache2é½å®è£
æåã
ç¶å
sudo apt-get install apache2-mpm-worker liblua5.1-0-dev luarocks
sudo apt-get install libfcgi-dev libapache2-mod-fcgid
sudo luarocks install wsapi-fcgi
ç¶åä¿®æ¹.htaccessæè
httpd.confæè
ä½ çvhosté
ç½®ï¼æ·»å ä¸é¢é¨åã
Options ExecCGI
AddHandler fcgid-script .lua
FCGIWrapper /usr/local/lib/luarocks/bin/wsapi.fcgi .lua
è¦æ³¨æçæ¯wsapi.fcgiä¹è®¸æ¯å¨ä¸åç®å½ä¸ï¼ç¨findèªå·±æ¾å§ã
å¨var/wwwä¸ä½ çç«ç¹ä¸æ°å»ºä¸ä¸ªluacgiç®å½ï¼ç¶å建ç«ä¸¤ä¸ªæ件ã
launcher.fcgi:
#!/usr/bin/env lua
require "wsapi.fastcgi"
require "hello"
wsapi.fastcgi.run(hello.run)
index.lua:
module(â¦, package.seeall)
function run(wsapi_env)
local headers = { ["Content-type"] = "text/html" }
local function hello_text()
coroutine.yield("<html><body>")
coroutine.yield("<p>Hello Wsapi!</p>")
coroutine.yield("<p>PATH_INFO: " .. wsapi_env.PATH_INFO .. "</p>")
coroutine.yield("<p>SCRIPT_NAME: " .. wsapi_env.SCRIPT_NAME .. "</p>")
coroutine.yield("</body></html>")
end
return 200, headers, coroutine.wrap(hello_text)
end
ç¶åç¨chown âR www-data:www-data luacgiä¿®æ¹ç®å½ownerã
è¿æ¶ååºè¯¥å°±è½ç¨xxx.com/luacgi/index.lua访é®äºã
å¦æä½ ç¨nginxï¼ä¹æç°æçlua modå¯ä»¥ä½¿ç¨ï¼ä½è
æ¯æ·å®çç¨åºåï¼ï¼è¿éå°±ä¸å¤è¯´äºã
温馨提示:答案为网友推荐,仅供参考