香草/Vanilla是一个基于Openresty实现的高性能Web应用开发框架.
目前Vanilla支持两种安装方式
make install
安装须知
Vanilla 支持的选项都提供了默认值,如果你的环境与默认值不一样,请configure时指定成你自己的。
特别注意选项--openresty-path
,默认为/usr/local/openresty
,请确保设置正确。
可以在源码目录下执行configure --help
来查看安装选项的使用方法。
下面是一个简单的安装示例:
./configure --prefix=/usr/local/vanilla --openresty-path=/usr/local/openresty
make install (如果没有C模块【目前支持lua-filesystem】,则不需要make,直接make install)
luarocks install
安装须知
可以使用luarocks安装vanilla,但是下面三点请注意
Vanilla 目前提供了两个命令 vanilla
,和 vanilla-console
vanilla
用来初始化应用骨架,停启服务(添加--trace参数可以看到执行的命令)vanilla-console
是一个交互式命令行,主要提供一种方便学习Lua入门的工具,可以使用一些vanilla开发环境下的包,比如table输出的lprint_r方法。命令行执行 vanilla
就能清晰看到 vanilla
命令提供的选项。
vanilla
Vanilla v0.1.0-rc3, A MVC web framework for Lua powered by OpenResty.
Usage: vanilla COMMAND [ARGS] [OPTIONS]
目前可用Vanilla命令选项如下:
new [name] 创建一个名字为name的新应用
start 启动Vanilla应用
stop 停止Vanilla应用
restart 先停止再启动Vanilla应用
reload 重新加载Vanilla应用中的nginx.conf文件
Options:
--trace 显式显示日志
vanilla new app_name
cd app_name
vanilla start [--trace] -- 默认运行在development环境
## 在linux的bash环境下:
VA_ENV=production vanilla start [--trace] -- 运行在生产环境
## 在BSD等tcsh环境下:
setenv VA_ENV production;vanilla start [--trace] -- 运行在生产环境
/Users/zj-git/app_name/ tree ./
./
├── application(应用代码主体目录)
│ ├── bootstrap.lua(应用初始化 / 可选<以下未标可选为必选>)
│ ├── controllers(应用业务代码主体目录)
│ │ ├── error.lua(应用业务错误处理,处理本路径下相应业务报错)
│ │ └── index.lua(hello world示例)
│ ├── library(应用本地类包)
│ ├── models(应用数据处理类)
│ │ ├── dao(数据层业务处理)
│ │ │ └── table.lua
│ │ └── service(服务化业务处理,对DAO的再次封装)
│ │ └── user.lua
│ ├── nginx(*Openresty所封装Nginx请求处理各Phase)
│ │ └── init.lua(*init_by_lua示例)
│ ├── plugins(插件目录)
│ └── views(视图层,与controllers一一对应)
│ ├── error(错误模板)
│ │ └── error.html
│ └── index(index controller模板)
│ └── index.html
├── config(应用配置目录)
│ ├── application.lua(应用基础配置 / 路由器、初始化等设置)
│ ├── errors.lua(应用错误信息配置)
│ ├── nginx.conf(nginx配置文件模板)
│ ├── nginx.lua(服务各种运行环境配置 / 是否开启lua_code_cache等)
│ ├── waf-regs(应用防火墙规则配置目录)
│ │ ├── args
│ │ ├── cookie
│ │ ├── post
│ │ ├── url
│ │ ├── user-agent
│ │ └── whiteurl
│ └── waf.lua(服务防火墙配置)
├── logs(日志目录)
│ └── hack(攻击日志目录 / 保持可写权限)
├── pub(应用Nginx配置根路径)
└── index.lua(应用请求入口)
local IndexController = {}
function IndexController:index()
local view = self:getView()
local p = {}
p['vanilla'] = 'Welcome To Vanilla...'
p['zhoujing'] = 'Power by Openresty'
view:assign(p)
return view:display()
end
return IndexController
<!DOCTYPE html>
<html>
<body>
<img src="http://m1.sinaimg.cn/maxwidth.300/m1.sinaimg.cn/120d7329960e19cf073f264751e8d959_2043_2241.png">
<h1><a href = 'https://github.com/idevz/vanilla'>{{vanilla}}</a></h1><h5>{{zhoujing}}</h5>
</body>
</html>
回答这个问题,我们只需要看清楚Openresty和Vanilla各自做了什么即可。
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )