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来试一试: 

 require "httpd"
local request_fields = { "uri", "protocol", "hostname", "path", "path_info", "args",
"method", "filename", "filedir", "user", "auth_type",
"local_ip", "remote_ip" }
request, args = ...
httpd.set_content_type("text/plain; charset=utf8")
httpd.write("Hello Lua World\r\n")
for _, key in ipairs(request_fields) do
httpd.write(key .." -> " .. (request[key] or "(not set)") .. "\r\n")
end

  用浏览器访问test.lua,成功界面:

最新文章

  1. stl文件格式解析代码--java版
  2. echart饼状图使用,打发时间。
  3. ASP.NET使用UpdatePanel实现AJAX
  4. http://jingyan.baidu.com/article/bad08e1ee14ae409c85121cf.html
  5. POJ- 2104 hdu 2665 (区间第k小 可持久化线段树)
  6. 使用zabbix_agent监控第一台windows服务器
  7. 深入理解YYCache
  8. mybatis与spring的整合(使用接口实现crud)
  9. jacascript CSS样式的脚本化操作
  10. 移动端video不全屏播放
  11. WebView与JS互调
  12. Linux下mysql定时自动备份并FTP到远程脚本
  13. day 13 装饰器
  14. tomcat配置的环境变量catalina.home和catalina.base 区别
  15. 每日英语:The Delicate Protocol Of Hugging
  16. 数据库连接池使用(一):使用C#数据库连接池
  17. Android批量打包提速 - 1分钟900个市场不是梦
  18. 【BZOJ1176】[Balkan2007]Mokia/【BZOJ2683】简单题 cdq分治
  19. Vue-cli 2.9 多页配置及多页面之间的跳转问题
  20. 本周推荐7款CSS3实现的动态特效

热门文章

  1. CodeForces 146E Lucky Subsequence(组合数+DP)
  2. maven中pom.xml中的scope讲解
  3. dede上传文件乱码问题解决
  4. 玩转车联网1---初识OBD和行车助手
  5. sql添加列,删除列,修改列
  6. OLEDB导入导出Excel
  7. OOM AutoMapper的简单实用
  8. 补丁patch 漏洞 bug或glitch
  9. sed用法——在指定行后面添加内容
  10. php获取随机字符串的几种方法