vanilla-0.1.0.rc3

香草/Vanilla

香草/Vanilla是一个基于Openresty实现的高性能Web应用开发框架.

Vanilla

邮件列表

推荐始终使用最新版的Vanilla

当前Vanilla最新版本0.1.0.rc7,支持命令:

  • vanilla-0.1.0.rc7(你没看错,自0.1.0.rc5起,vanilla的命令行和框架代码都带着版本号,方便多版本共存,也方便框架升级

  • v-console-0.1.0.rc7

安装

目前Vanilla支持两种安装方式

make install安装须知

Vanilla 支持的选项都提供了默认值,如果你的环境与默认值不一样,请configure时指定成你自己的。

特别注意选项--openresty-path,默认为/usr/local/openresty,请确保设置正确。

可以在源码目录下执行configure --help来查看安装选项的使用方法。

下面是一个简单的安装示例:

luarocks install安装须知

可以使用luarocks安装vanilla,但是下面三点请注意 1. Luarocks应该基于lua5.1.x的版本安装,因为其他版本Lua和Luajit的ABI存在兼容性问题。 2. Luarocks安装的Vanilla在nginx.conf文件的NGX_PATH变量不可用。 3. 请确保nginx命令可以直接运行(nginx命令在你的环境变量中)

Vanilla 使用

Vanilla命令

Vanilla 目前提供了两个命令 vanilla,和 vanilla-console

  • vanilla用来初始化应用骨架,停启服务(添加--trace参数可以看到执行的命令)

  • vanilla-console 是一个交互式命令行,主要提供一种方便学习Lua入门的工具,可以使用一些vanilla开发环境下的包,比如table输出的lprint_r方法。

命令行执行 vanilla就能清晰看到 vanilla命令提供的选项。

创建应用

代码目录结构

业务代码示例 IndexController

模板示例 views/index/index.html

为什么需要Vanilla

回答这个问题,我们只需要看清楚Openresty和Vanilla各自做了什么即可。

Openresty

  • 提供了处理HTTP请求的全套整体解决方案

  • 给Nginx模块开发开辟了一条全新的道路,我们可以使用Lua来处理Web请求

  • 形成了一个日趋完善的生态,这个生态涵盖了高性能Web服务方方面面

Vanilla

  • 使复杂的Nginx配置对Web业务开发者更透明化

  • 开发者不再需要了解Openresty的实现细节,而更关注业务本身

  • 实现了Web开发常规的调试,错误处理,异常捕获

  • 实现了请求的完整处理流程和插件机制,支持路由协议、模板引擎的配置化

  • 整合、封装了一系列Web开发常用的工具集、类库(cookie、应用防火墙等)

  • 实现了自动化、配置化的Nginx指令集管理

  • 更合理的利用Openresty封装的8个处理请求Phase

  • 支持不同运行环境(开发、测试、上线)服务的自动化配置和运行管理

  • 功能使用方便易于扩展

  • 基于Openresty开发,具备Openresty一切优良特性

社区组织

QQ群&&微信公众号

  • Openresty/Vanilla 开发 1 群:205773855

  • Openresty/Vanilla 开发 2 群:419191655

  • Openresty 技术交流 1 群:34782325

  • Openresty 技术交流 2 群:481213820

  • Openresty 技术交流 3 群:124613000

  • Vanilla开发微信公众号:Vanilla-OpenResty(Vanilla相关资讯、文档推送)

vanilla

QQarrow-up-right

Last updated