skynet 初探

skynet是云风团队发布的一个开源的服务器框架。

底层采用C编写,逻辑层通常用lua。非常适合作为游戏的服务器框架。

学习skynet,可能涉及到操作系统,window,linux,游戏服务器等方方面面的知识,是一个不可多得的开源项目。

作为菜鸟的希望把学习的过程记录下来,无论对于面试和工作都有莫大的帮助。

 

官方的指南 https://github.com/cloudwu/skynet/wiki/GettingStarted

 

今天第一篇,首先来搭建skynet。分为以下四个步骤:

1.ubuntu

2.samba

3.git clone源码

4.build skynet

 

1.ubuntu

官方推荐使用ubuntu作为开发skynet的环境,也有社区的同学提供了window版,但未知问题较多。

新手还是使用官方推荐的ubuntu好了。首先要安装一个vmware虚拟机,再下载ubuntu的最新iso镜像。

对于程序猿来讲小case啦,忽略不讲。

 

2.samba

既然用到lua语言开发,我还是习惯使用sublime作为编辑器开发。而且以后打算用quick-cocos-2d或者window api作为客户端,需要一个linux和windows交互共享的方法。

samba是一个可以提供windows和linux共享的软件。因此需要搭建samba服务器环境。这里也略过不表。网上超多教程。搭建好之后,在ubuntu查看ip地址,在windows添加网络,就可以linux和windows互访了。

3.接着我们从github上clone源码

git clone https://github.com/cloudwu/skynet.git

4.最后开始搭建skynet

make linux

简单的编译。总共遇到了下面几个问题:

4.1 readline.h找不到

其实是没装lua。需要安装lua5.3以上版本。

4.2 jemalloc找不到

需要安装jemalloc。jemalloc是一种内存分配算法。区别于c语言里的malloc,效率更高。

安装jemalloc的过程中提示缺少m4。m4是一个宏处理器。

4.3 缺少autoconf

autoconf是一种自动生产Makefile的软件。

 

这里插一个知识。ubuntu安装软件有三种方法。apt-get,dpkg安装deb和make install安装源码包

a.apt-get install xxx。需要联网。上面的lua安装用到此方法。

b.dpkg -i package.deb。从下载好的deb包安装。

c.编译安装源码包。通常4个步骤,从官网下载压缩包

解压 tar -zxvf xxxx

配置 ./configure --prefix=安装路径

编译 make

安装 make install

上面的jemalloc,m4和autoconf都是源码包安装法。其中设置安装路径--prefix时还要考虑环境变量$PATH,需要安装到环境变量路径中,或者自己增加环境变量。

$PATH 可以查看当前的环境变量

 

安装好jemalloc,autoconf,lua等支持后,再在skynet目录下make linux,则算编译成功。

posted @ 2017-02-14 22:04  姚二二姚  阅读(5658)  评论(0编辑  收藏  举报