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
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
|
|
|