大家在用 Nginx + Lua 的时候有感觉有什么坑么?

2014-02-28 13:21:16 +08:00
 Livid
最近考虑在一个新项目里用,所以在正式开始写代码之前,想尽可能多地了解一下可能会踩到的陷阱。
18780 次点击
所在节点    NGINX
12 条回复
xatest
2014-02-28 13:35:23 +08:00
现成的驱动、库比较少,有时候不得不自己造轮子~
另外留意一下运行环境对Lua语言不同版本支持的特性区别~
cctvsmg
2014-02-28 13:40:34 +08:00
lua没啥好的ide,nginx lua调试也是个问题
在微博问过作者有没有好的调试工具
春哥回答说他都不用ide调试的(写的时候输出调试信息)
Orz 果断匿了。。。。。

再就是真要开发的话
还要选择web框架
有个Lapis好像还算这里面唯一一个略像框架的东西,但是也非常粗糙

总结:
我感觉nginx-lua比较适合搭配python啥的,把最频繁的请求用lua做优化
或者,写纯restful风格的简单网站
逻辑复杂的话开发起来有点别扭..............
kran
2014-02-28 13:41:11 +08:00
别阻塞了线程
别依赖全局和模块级别的变量
clino
2014-02-28 13:46:54 +08:00
"春哥回答说他都不用ide调试的(写的时候输出调试信息)"
lua python啥的应该都是这样吧,ide完全不需要
Livid
2014-02-28 13:51:22 +08:00
目前还没打算用来做网站,会首先用到的是对 http 头的那些灵活功能。Nginx 自身的 if 和 add_header 局限太多了。
LazyZhu
2014-02-28 14:49:23 +08:00
同关注,刚开始学Lua语言,可能身在坑中而不知。
qiongqi
2014-02-28 21:23:05 +08:00
模块少,前段时间找一个解析xml的都找不到,春哥推荐的是ffi + libxml2这样的组合,但是技术难度大,没辙只能用正则写个简单的解析器。
missdeer
2014-02-28 21:27:18 +08:00
@qiongqi 几年前用lua写个桌面gui程序时自己把xerces c和rapidxml都简单封装过一遍
fannheyward
2014-03-01 22:30:35 +08:00
1. 没框架。我们自己写了个很轻量简单的 https://github.com/appwilldev/moochine 在用。

2. 第三方库比较少,现在用的第三方库主要都是春哥的 lua-resty-X 系列,这些都适用 LuaJIT。

3. Vim + logger 开发,相对来说比较费力,不过熟练后效率不成问题。

4. 避免全局变量,可以用 ZeroBrane Studio 或者春哥的 releng 分析找出全局变量。

5. 复杂长 CPU 费时操作不适合,一般都是导入队列然后离线处理。

6. 开发时可以 lua_code_cache off; 线上不要,代价太大。

7. Lua 有些方法在 ngx_lua 下开销代价很大,比如 os.time(),可以用 ngx.time() 替换。

8. 及时跟进 OpenResty 最新版,bug 修复很快,现在最新版默认支持 LuaJIT。

我们目前 App 接口都在用 OpenResty,总体来说非常不错。
fannheyward
2014-03-01 22:41:15 +08:00
oneoo
2014-04-11 10:57:06 +08:00
http://alilua.com/ aLiLua 就是为了方便使用 Lua 做 Web 项目而生的。跟 OpenResty 出发点不一样
比如 host-route 和 router 方法,就是为了比较大的 Web 项目专门设计

性能不错、开发效率高,建议大家可以试试。目前版本 0.40,正在小部分业务环境使用中。欢迎提出大量需求和Bug指正 :)
felixzhu
2015-01-14 14:26:34 +08:00
web项目觉得不太合适吧,现在个人主要用来写一些nginx模块类似的东西

比方说图片云存储的裁图、一些高性能接口之类。。web开发最重要的还是开发效率

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/102302

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX