You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
1.6 KiB
Lua

local pairs = pairs
local ogetenv = os.getenv
local utils = require 'bin.scaffold.utils'
local app_run_env = ogetenv("LOR_ENV") or 'dev'
local lor_ngx_conf = {}
lor_ngx_conf.common = { -- directives
LOR_ENV = app_run_env,
-- INIT_BY_LUA_FILE = './app/nginx/init.lua',
-- LUA_PACKAGE_PATH = '',
-- LUA_PACKAGE_CPATH = '',
CONTENT_BY_LUA_FILE = './app/main.lua',
STATIC_FILE_DIRECTORY = './app/static'
}
lor_ngx_conf.env = {}
lor_ngx_conf.env.dev = {
LUA_CODE_CACHE = false,
PORT = 8888
}
lor_ngx_conf.env.test = {
LUA_CODE_CACHE = true,
PORT = 9999
}
lor_ngx_conf.env.prod = {
LUA_CODE_CACHE = true,
PORT = 80
}
local function getNgxConf(conf_arr)
if conf_arr['common'] ~= nil then
local common_conf = conf_arr['common']
local env_conf = conf_arr['env'][app_run_env]
for directive, info in pairs(common_conf) do
env_conf[directive] = info
end
return env_conf
elseif conf_arr['env'] ~= nil then
return conf_arr['env'][app_run_env]
end
return {}
end
local function buildConf()
local sys_ngx_conf = getNgxConf(lor_ngx_conf)
return sys_ngx_conf
end
local ngx_directive_handle = require('bin.scaffold.nginx.directive'):new(app_run_env)
local ngx_directives = ngx_directive_handle:directiveSets()
local ngx_run_conf = buildConf()
local LorNgxConf = {}
for directive, func in pairs(ngx_directives) do
if type(func) == 'function' then
local func_rs = func(ngx_directive_handle, ngx_run_conf[directive])
if func_rs ~= false then
LorNgxConf[directive] = func_rs
end
else
LorNgxConf[directive] = ngx_run_conf[directive]
end
end
return LorNgxConf