• App配置
  • Nginx配置
  • WAF配置
应用基础配置(config/application.lua)
应用基础配置的引用
  1. local app_name = Registry['APP_CONF']['name']
错误处理配置(config/errors.lua)

根据errors.lua文件中实例,配置用户级别错误码.

Restful 路由协议配置(config/restful.lua)

根据 URI 需要来自定义路由协议的配置

  1. local restful = {
  2. v1={},
  3. v={}
  4. }
  5. restful.v.GET = {
  6. {pattern = '/', controller = 'index', action = 'index'},
  7. {pattern = '/:category', controller = 'index', action = 'list'}
  8. }
  9. restful.v.POST = {
  10. {pattern = '/post', controller = 'index', action = 'post'},
  11. }
  12. restful.v1.GET = {
  13. }
  14. return restful
系统相关配置(sys/)*

比如DB、MC等资源配置,系统相关的分机房配置等(在某些大公司,这部分配置又运维人员统一管理和下发),文件格式目前使用相对更运维友好的 ini 文件,开发中可以方便的在 Registry[‘sys_conf’] 中获取相关数据,如 Registry['sys_conf']['cache']['lrucache'] 获取 lrucache 相关配置

系统缓存相关配置 (sys/cache)
  • 目前这部分配置一般由 vanilla.v.libs.cache 来使用
  • 目前支持的配置项如 poolsize(连接池大小)、timeout(数据获取超时等)
系统缓存相关配置 (sys/v_resource)
  1. conf=127.0.0.1:7348 127.0.0.1:11211
  2. [redis]
  3. conf=127.0.0.1:7348 127.0.0.1:7349
  4. [redisq]
  5. conf=127.0.0.1:7348 127.0.0.1:7349
  6. [db.user.write]
  7. host =127.0.0.1
  8. port =3306
  9. user =idevz
  10. passwd =idevz
  11. [db.user.read]
  12. host =127.0.0.1
  13. port =3306
  14. dbname =user.info
  15. user =idevz
  16. passwd =idevz
  • 对所使用的数据资源做配置
自动生成的 Nginx 配置文件

生产环境

va-nginx.conf 文件

va-nginx.conf 配置文件内容包含 nginx 配置主干(main、events、http 等重点配置段),包括用户、组的配置,工作进程等等通用配置,关键的还有 lua_package_pathlua_package_cpath 的配置,还有框架初始化文件(vanilla/framework/init.lua)的加载

vhost/app_name.conf 文件

vhost/app_name.conf 文件是当前应用的相关配置,包括 APP_NAME、VANILLA_VERSION、$template_root、$va_cache_status 等全局变量的初始化,$document_root,Server_name 等的设置,还有关键的应用入口(content_by_lua_file),lua_shared_dict 等的设置,不过这些设置都是自动生成的,开发人员没有特殊需求的话,并不需要关注这些

开发环境

va-nginx-development.conf 文件

va-nginx-development.conf 文件的内容跟开发环境类似,唯一的区别在于加载框架初始化文件(vanilla/framework/init.lua)的方式为 init_by_lua_file

dev_vhost/app_name.conf 文件

注:所以初始化项目后,首先需要执行 sudo ./va-app_name-service initconf dev 命令,就是为了将自动生成的配置文件部署到 OpenResty 默认的配置文件路径下,如果需要更新 va-nginx(-development).conf 则还需要在命令后面加上 -f 参数进行强行部署,每次如果需要修改配置,也只需修改这部分配置,然后执行 即可

nginx.lua( vanilla-0.1.0.rc5 后废弃此配置 )

分为ngx_conf.common和ngx_conf.env两个部分,common是对Openresty指令集的配置如INIT_BY_LUA,可以是包或者文件(BY_LUA_FILE),env是环境的部分,包括了开发环境,测试环境和生产环境端口和缓存配置等控制.

waf.lua

包括WAF规则的配置,及各种规则参数的配置,相关使用方法详见waf