main.lua
1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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 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)