local skynet = require "skynet" local max_client = tonumber(skynet.getenv("max_client")) local max_queue = tonumber(skynet.getenv("max_queue")) local work_count = tonumber(skynet.getenv("thread")) local use_logd = tonumber(skynet.getenv("logd")) skynet.start(function() print("Server start") skynet.newservice("debug_console", tonumber(skynet.getenv("debug_port"))) -- 启动redis for i = 1, work_count do local redisd = skynet.newservice("services/redisd", i) skynet.call(redisd, "lua", "open", { redishost = skynet.getenv("redis_host"), redisport = tonumber(skynet.getenv("redis_port")), redisdb = tonumber(skynet.getenv("redis_db")), auth = skynet.getenv("redis_auth") }) end --启动log if use_logd == 1 then for i = 1, work_count * 2 do local logd = skynet.newservice("services/logd", i) skynet.call(logd, "lua", "open") end end local httpd = skynet.newservice("services/httpweb", tonumber(skynet.getenv("httpweb_port"))) local watchdog = skynet.newservice("services/watchdog", max_client) skynet.call(watchdog, "lua", "start", { port = tonumber(skynet.getenv("server_port")), maxclient = max_client + max_queue + 10, httpd = httpd, }) skynet.exit() end)