標籤:style blog http color ar os 使用 sp for
Lua 是一個小巧的指令碼語言。它具有輕量級、可擴充等優勢。它可以作為一個強大、輕量的指令碼語言,供任何需要的程式使用。
LWT (Lua Web Tools) 可讓你使用 Lua 開發 Web 應用程式,並可直接在 Apache 上運行。LWT 的核心功能通過一個 Apache 的模組(mod_lwt)來提供。另外 LWT 提供可選的 Lua 模組用來訪問資料庫和緩衝。
現在用lua + LWT來搭建後台web環境。
安裝lua:
在linux中,有兩種方法可以安裝lua。
第一種:系統為Ubunut、Debian等支援apt-get命令的可以用這個方法。
sudo apt-get install lua5.1
第二種:
1、先去Lua的官網(http://www.lua.org/ftp/)下載最新發行包,我選擇的是 lua-5.1.4.tar.gz
2、使用命令tar -xzvf lua-5.1.4.tar.gz
3、cd lua-5.1.4, 然後執行sudo make,結束後sudo make install,如果中途沒有出錯,那就成功了。
安裝mod_lwt:
在安裝mod_lwt之前,必須保證安裝了Apache、lua和liblua.so。
首先下載mod_lwt項目的安裝包 lwt-0.9.1.tar.gz ,解壓。
cd lwt-0.9.1
cd mod_lwt
make
make install
安裝過程會在/usr/local/share/lua/5.1/這個目錄下產生httpd.lua以及httpd/wsapi.lua兩個檔案
然後修改Apache的設定檔httpd.conf
vim /etc/apache2/httpd.conf
在裡面添加上:
AddHandler lwt .lua
AddHandler lwt-wsapi .ws
LoadModule lwt_module /use/lib/apache2/mod_lwt.so
儲存,然後在Apache配置目錄調用命令啟動模組
a2enmod lwt
重啟Apache
apache2ctl restart
在重啟Apache時,出現了問題:
原因是80連接埠被佔用,用netstat -apn | grep 80命令查看80連接埠使用方式:
連接埠被lighttpd佔用了,lighttpd是一個輕量級的web伺服器,這裡並不需要他,直接killall -9 lighttpd
再次重啟Apache:
重啟成功:
現在可以用官網的測試指令碼test.lua來試一試:
1 require "httpd" 2 local request_fields = { "uri", "protocol", "hostname", "path", "path_info", "args", 3 "method", "filename", "filedir", "user", "auth_type", 4 "local_ip", "remote_ip" } 5 request, args = ... 6 httpd.set_content_type("text/plain; charset=utf8") 7 httpd.write("Hello Lua World\r\n") 8 for _, key in ipairs(request_fields) do 9 httpd.write(key .." -> " .. (request[key] or "(not set)") .. "\r\n")10 end
用瀏覽器訪問test.lua,成功介面:
【Lua】linux下lua+mod_lwt環境搭建