给nginx lua模块添加sendfile函数可代替X-Accel-Redirect
nginx发送静态文件,速度极快,Nginx中的x-sendfile机制需要依靠 X-Accel-Redirect 特性实现,不过经过我的测试,不能满足我的需求,我 要用lua来处理业务逻辑, 然后发送文件内容,一开始用如下方式来实现, 这种方式如果文件小, 到无所谓, 但是当文件很大时, 对性能的影响非常大。
luaL_error(L, "no request object found");return 1;就代表压入了一个参数, 所以返回值为1, 要不然会出现段错误。
另外需要明白 lua 与 C交换数据的堆栈原理, 可以参考下面的文章 :
http://blog.csdn.net/yhhwatl/article/details/9303675
这篇文章把堆栈介绍的很明白。
谢谢诸位,晚安。