2.1 获取skynet源代码
安装git代码管理工具
$ sudo apt-get update $ sudo apt-get install git
注意:如果安装失败,请先安装一下只支持库
$ sudo apt-get install build-essential libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext unzip
到github上面下载skynet的源代码 skynet的代码保存在github上面,大家可以去上面查看,现在我们用git把代码拷贝一份下来:
$ git clone https://github.com/cloudwu/skynet.git
2.3 skynet代码目录结构
3rd #第三方支持库,包括LUA虚拟机,jmalloc等 lualib #lua语言封装的常用库,包括http、md5 lualib-src #将c语言实现的插件捆绑成lua库,例如数据库驱动、bson、加密算法等 service #使用lua写的Skynet的服务模块 service-src #使用C写的Skynet的服务模块 skynet-src #skynet核心代码目录 test #使用lua写的一些测试代码 examples #示例代码 Makefile #编译规则文件,用于编译 platform.mk #编译与平台相关的设置
2.4 编译与运行skynet服务器
编译skynet
$ cd skynet #今后我们所有的工作都在这个目录中进行 $ make linux
#如果报错: ./autogen.sh: 5: ./autogen.sh: autoconf: not found #安装autoconf $ sudo apt-get install autoconf
#如果报错: lua.c:83:31: fatal error: readline/readline.h: No such file or directory #安装libreadline-dev $ sudo apt-get install libreadline-dev
#编译成功出现以下提示 make[1]: Leaving directory '/home/ubuntu/workspace/skynet' #并且在目录里出现一个可执行文件skynet
运行第一个skynet节点
#启动一个skynet服务节点 $ ./skynet examples/config
2.5 运行客户端
我们要运行的的客户端是example/client.lua 这个lua脚本文件,那么首先你要有一个lua虚拟机程序。
编译lua虚拟机
#打开另一个终端,开始编译虚拟机 $ cd ./3rd/lua/ $ make linux #编译成功则会在当前路径上面看到一个可执行文件lua
运行客户端
#跑到skynet根目录 $ cd ../../ #运行client.lua这个脚本 $ ./3rd/lua/lua examples/client.lua