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