启动 skynet 服务器必须要提供一个配置文件,配置文件的编写可以参考 examples/config 。
下面是一个简单的配置文件范例:
root = "./"
thread = 8
logger = nil
harbor = 1
address = "127.0.0.1:2526"
master = "127.0.0.1:2013"
start = "main" -- main script
bootstrap = "snlua bootstrap" -- The service for bootstrap
standalone = "0.0.0.0:2013"
luaservice = root.."service/?.lua;"..root.."test/?.lua;"..root.."examples/?.lua"
lualoader = "lualib/loader.lua"
snax = root.."examples/?.lua;"..root.."test/?.lua"
cpath = root.."cservice/?.so"
这个配置文件实际上就是一段 lua 代码,通常,我们以 key = value 的形式对配置项赋值。
skynet 在启动时,会读取里面必要的配置项,并将暂时用不到的配置项以字符串形式保存在 skynet 内部的 env 表中。
这些配置项可以通过 skynet.getenv 获取。
1. 必要的配置项
thread:启动多少个工作线程。通常不要将它配置超过你实际拥有的 CPU 核心数。
bootstrap:skynet 启动的第一个服务以及其启动参数。默认配置为 snlua bootstrap ,即启动一个名为 bootstrap 的 lua 服务。通常指的是 service/bootstrap.lua 这段代码。
cpa