目录结构
文件(夹) | 说明 |
---|
etc | 存放服务配置的文件夹 |
luaclib | 存放一些C模块(.so文件) |
lualib | 存放Lua模块 |
service | 存放各种服务的Lua代码 |
skynet | Skynet框架,我们不会改动Skynet的任何内容。如果后续Skynet有更新,直接替换该文件夹即可 |
start.sh | 启动服务器的脚本 |
基本配置
参数 | 作用 |
---|
thread | 指定skynet开启的工作线程数量,一般为CPU的核心数 |
logger | log配置,指定为nil表示打印到控制台,指定文件名则写日志到指定文件 |
logpath | 指定日志路径 |
harbor | 集群相关的设置,设为0表示不使用集群 |
start | 指定服务启动的抽象进程 |
lua_path | 指定读取的lua路径 |
luaservice | lua抽象的进程,指定启动的lua路径 |
lualoader | lua加载的路径 |
cpath,lua_cpath | c语言写的进程路径 |
--必须配置
thread = 8 --启用多少个工作线程
cpath = "./skynet/cservice/?.so" --用C编写的服务模块的位置
bootstrap = "snlua bootstrap" --启动的第一个服务
--bootstrap配置项
start = "main" --主程序入口
harbor = 0 --不使用主从节点模式
--lua配置项
lualoader = "./skynet/lualib/loader.lua"
luaservice = "./service/?.lua;" .."./service/?/init.lua;".. "./skynet/service/?.lua;"
lua_path = "./etc/?.lua;" .. "./lualib/?.lua;" .. "./skynet/lualib/?.lua;" .. "./skynet/lualib/?/init.lua"
lua_cpath = "./luaclib/?.so;" .. "./skynet/luaclib/?.so"
--后台模式
--daemon = "./skynet.pid" --以后台模式启动Skynet
--logger = "./userlog" --日志输出的目录文件
--节点
node = "node1"
创建入口文件(main.lua)
local skynet = require "skynet"
skynet.start(function()
skynet.error("[Hello Skynet]")
skynet.exit()
end)
启动脚本(start.sh)
./skynet/skynet ./etc/config