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,成功界面:

【Lua】linux下lua+mod_lwt环境搭建的更多相关文章

  1. HDP2.0.6+hadoop2.2.0+eclipse(windows和linux下)调试环境搭建

    花了好几天,搭建好windows和linux下连接HDP集群的调试环境,在此记录一下 hadoop2.2.0的版本比hadoop0.x和hadoop1.x结构变化很大,没有eclipse-hadoop ...

  2. Linux下PHP+Nginx环境搭建

    PHP+Nginx环境搭建 作者:王宇阳( Mirror )^_^ 参考文章: ​ Nginx+PHP+MySQL安装参考 ​ PHP源码安装经验 ​ PHP源码环境搭建过程中常见问题 CentOS环 ...

  3. Linux下安装python3环境搭建

    Linux下python3环境搭建 Linux安装软件有哪些方式? rpm软件包 手动安装 拒绝此方式 需要手动解决依赖关系 yum自动化安装 自动处理依赖关系 非常好用 源代码编译安装,可自定义的功 ...

  4. Linux下Java开发环境搭建—CentOS下Eclipse的安装教程

    据了解,在Linux下的Java开发很多时候都比较喜欢使用vim + 插件,反而很少使用Eclipse,但是我是第一次使用Linux来进行Java编程,就什么都体验下啦,好啦,废话不多说,直接开始啦. ...

  5. Linux下golang开发环境搭建

    对于golang开发来说,Windows下可以用vscode或者liteide都不错,但是Linux下的开发也就只有vim了,所以怎么搞笑的利用vim进行golang开发呢? 参考官方推荐的一个插件: ...

  6. Linux下PHP开发环境搭建

    平时写程序时都是在服务器已经搭建好的PHP环境进行的.出于对未知知识的好奇,这几天在自己的机器上搭建起了PHP开发环境.本想轻松顺利的看到phpinfo显示在我的页面上,没想到安装环境时一路的erro ...

  7. Linux下Java开发环境搭建—CentOS下Mysql安装教程

    本人学习Linux时使用的是CentOs5.5版本,在该环境中,Mysql的安装方法有很多种,下面我只讲我这次成功了的方法,作为一个记录,供大家参考,同时给自己做一个笔记. MySQL下载 1.进入网 ...

  8. Linux 下web开发环境搭建-jdk环境搭建

    Centos 7 附:windows 下jdk环境变量 CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools ...

  9. linux下Apache+Svn环境搭建(五)

    在搭建之前先准备好如下包,建议去apache官网去下载:http://httpd.apache.org/ apr-1.4.6.tar.gzapr-util-1.4.1.tar.gzhttpd-2.2. ...

  10. linux 下 go 语言环境搭建

    1.首先去官网下载安装包 https://studygolang.com/dl 选择合适的安装包并下载解压 wget https://studygolang.com/dl/golang/go1.13. ...

随机推荐

  1. 一类适合初学者的DP:最大子段和与最大子矩阵

    最近在水简单DP题,遇到了两道层层递进的DP题,于是记录一下 一.最大子段和 题意: 给出一个长度为n(n<=1e5)的序列,求连续子段的最大值 比如说2 3 -4 5 的最大值是6  而 2 ...

  2. 从源码角度看Transaction以及如何手工接管Transaction实现高度的自定义化

    一:transaction CUD: 在一个transaction中... transaction: start add.... delete... update... transaction: co ...

  3. Arduino I2C + 气压传感器LPS25H

    LPS25H是ST生产的MEMS数字气压传感器.主要特性有: 测量范围:260 ~ 1260 hPa绝对气压 分辨率:均方根1 Pa 工作电压:1.7 ~ 3.6 V 功耗:4μA(低分辨率模式)~2 ...

  4. [SIP01]SIP Header Fields里面各字段用途

    INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds Max-Forw ...

  5. Backup--备份基础理论

    --完整备份:完整备份会备份所有数据的区和少量的日志(日志文件用于恢复数据保持数据一致性).由于差异备份需要依据最后一次完整备份,因此完整备份会清楚一些分配位图数据. --差异备份:差异备份是针对完全 ...

  6. Webserver asp配置及伪静态设置

    Webserver  IIS asp配置及伪静态设置 一.概述: 在Windows Server 2003系统中,用户可以借助IIS 6.0配置基于ASP.PHP.asp.NET等语言的动态Web网站 ...

  7. leetcode 213. 打家劫舍 II JAVA

    题目: 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻 ...

  8. 【OCP-12c】CUUG最新考试原题整理及答案(071-9)

    9.(5-5) choose the best answerView the Exhibit and examine the structure of the SALES and STORES tab ...

  9. PHP内核研究 静态变量

    静态变量 它可以是 静态全局变量,如果不调用unset,那么这个静态变量会一直存在,直到程序退出时才由Zend内存管理来释放 它可以是 静态局部变量:在函数里定义,函数执行完后,该静态变量不会消失 它 ...

  10. [ActionScript 3.0] SharedObject的用法简介

    package com.models { import flash.net.SharedObject; /** * @author * @E-mail * @create 2015-6-12 下午2: ...