如何配置lua的WEB运行环境

如何配置lua的WEB运行环境,第1张

有两种方式,一种是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可以使用(作者是淘宝的程序员),这里就不多说了。

在Lua 5.2及之前的版本,所有数值都以双精度浮点格式表示,从5.3版本开始,Lua语言的number分为integer的64位整型和被称为float的双精度浮点型,若想要32位的整型和单精度浮点类型,可以将Lua 5.3编译为精简姿哪Lua(Small Lua)模式.

可以使用%a参数进行格式化输出,如:

这种格式很难阅读,但是可以保留所有浮点数的精度,并且比十进制转换速度更快

// 区分整数和浮点数,基册逗由于5.3版本之前没有整数的概念,所以math.floor永远返回整数,// 的 *** 作数只要有一个浮点数,则向下取整返回浮点数

取模运算的定义:

由此可知,取模和取余数差不多,当想要一个值不超过某个范围的时候,就对该值进行取模, 在整数的情况下, a % b 取模的值永远在[1,b-1]范围内,即 5 % 3的取模结果在[1,3]之间

Lua语言的关系运算六种

标准数学库math,包括三角函数(sin,cos,tan,asin等)、指数函数、取整函数、最大和最小函数max和min,random以及常量pi和huge(最大可表示数值,在大多数平台上代表inf)

math.random

math.randomseed 用于设置伪随机数发生器的搏卖种子,看例子就明白了了

math.randomseed每次设置一样的值,则math.random就会生成一样的随机数,不管math.random带不带参数。

三个取整函数:

floor 向负无穷取整

ceil向正无穷取整

modf向0取整,并会返回小数部分作为第二个结果

如果想将数值x向最近的整数取整,这个问题没看懂??????

数学库中的常量定义了整型值的最大值math.maxinteger和最小值math.mininteger

这段内容也没完全看懂?????

整型转行成浮点型

浮点型转行成整型

可以充分利用math.tointeger函数来判断一个数值是否为整数

从上到下,优先级从高到低

在二元运算符中,除了幂运算和连接 *** 作符是右结合外,其他都是左结合

Lua 5.3 支持的最大整数为2^63,而Lua 5.2支持的最大整数为2^53,由于5.2及以下版本没有整数,所以跟整数相关的函数都不支持,如math.type()、math.maxinteger、math.mininteger、math.tointeger等


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12370964.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存