compile viabtc_exchange_server on Ubuntu 16.04

##引用##

viabtc_exchange_server,是交易所源代码。我们现在就编译一下这款产品。

sudo apt install -y libev-dev libjansson-dev libmpdec-dev libmysqlclient-dev libcurl4-gnutls-dev libldap2-dev libgss-dev librtmp-dev libsasl2-dev
# librdkafka: 0.11.3+; DO NOT INSTALL BY APT: version too old (0.8.x);
# if you do, remove them by: sudo apt remove librdkafka1 librdkafka-dev 
wget https://github.com/edenhill/librdkafka/archive/v0.11.3.tar.gz -O librdkafka-0.11.3.tar.gz
tar zxf librdkafka-0.11.3.tar.gz
cd librdkafka-0.11.3
 ./configure
make
sudo make install

COMPILATION

##引用##

 git clone https://github.com/viabtc/viabtc_exchange_server.git
 cd viabtc_exchange_server

 make -C depends/hiredis
 make -C network

//编译之前,需要执行以下 否则报错
sudo apt install libssl-dev
 
 vi utils/makefile #modify INCS
# INCS = -I ../network -I ../depends
 make -C utils

 vi accesshttp/makefile #modify INCS & LIBS
# INCS = -I ../network -I ../utils -I ../depends
# LIBS = -L ../utils -lutils -L ../network -lnetwork -L ../depends/hiredis -Wl,-Bstatic -lev -ljansson -lmpdec -lrdkafka -lz -lssl -lcrypto -lhiredis -lcurl -Wl,-Bdynamic -lm -lpthread -ldl -lssl -lldap -llber -lgss -lgnutls -lidn -lnettle -lrtmp -lsasl2 -lmysqlclient
make -C accesshttp

vi accessws/makefile
{modify INCS and LIBS like accesshttp/makefile}
make -C accessws

vi alertcenter/makefile
{modify INCS and LIBS like accesshttp/makefile}
make -C alertcenter

vi marketprice/makefile
{modify INCS and LIBS like accesshttp/makefile}
 make -C marketprice

 vi matchengine/makefile
{modify INCS and LIBS like accesshttp/makefile}
 make -C matchengine

 vi readhistory/makefile
{modify INCS and LIBS like accesshttp/makefile}
 make -C readhistory

Mysql配置
创建数据库
sql/中的3个文件请依次执行, init_trade_history.sh 里需要修改相应的数据库配置

create_trade_history.sql
create_trade_log.sql
init_trade_history.sh

Tips: 可以在mysql客户端执行sql文件, 也可以使用mysql命令,

mysql -h localhost -u root -p xxx < create_trade_history.sql

修改数据库配置

修改 matchengine/config.json中的 db_log, db_history数据库配置
修改 db_history/config.json中的db_history数据库配置

启动

  1. 安装 Redis
sudo apt-get instal redis-*

因为我们需要启动sentinel机制,所以必须安装是redis-*

启动它(必须要使用sentinel):

cd  redis目录
redis-server ./redis.conf &
redis-sentinel ./sentinel.conf &

sentinel配置办法
我们配置三个sentinel,分别是26381,26382,26383
并分别设定
建立sentinel目录:

mkdir /usr/local/redis-ms
cd /usr/local/redis-ms/
mkdir 6381
mkdir 6382
mkdir 6382

复制sentinel.conf到三台目录

cp  /etc/redis/sentinel.conf  ./26381/
cp  /etc/redis/sentinel.conf  ./26382/
cp  /etc/redis/sentinel.conf  ./26383/

分别修改三个文件夹的配置文件
26381

bind  0.0.0.0
port 26381
dir "/usr/local/redis-ms/26381"
sentinel monitor mymaster 127.0.0.1 6379 2

26382

bind  0.0.0.0
port 26382
dir "/usr/local/redis-ms/26382"
sentinel monitor mymaster 127.0.0.1 6379 2

26383

bind  0.0.0.0
port 26383
dir "/usr/local/redis-ms/26383"
sentinel monitor mymaster 127.0.0.1 6379 2

分别启动三个哨兵机制

redis-server ./redis.conf &
redis-sentinel   /usr/local/redis-ms/26381/sentinel.conf &
redis-sentinel   /usr/local/redis-ms/26382/sentinel.conf &
redis-sentinel   /usr/local/redis-ms/26383/sentinel.conf &

恭喜你,配置成功了。

创建日志文件夹

mkdir -p /var/log/trade/

启动

cd matchengine
./restart.sh

cd ../alertcenter
./restart.sh

cd ../readhistory
./restart.sh

cd ../accesshttp
./restart.sh

cd ../accessws
./restart.sh

cd ../marketprice
./restart.sh

测试

curl http://localhost:8080 -d '{"method": "market.list", "params": [], "id": 1516681174}'

kafka安装与运行

kafka还没运行呢! 但暂时不影响步骤5的接口测试. 接下来要安装kafka和运行它.
大家可以搜索下, 很多资料!!
https://blog.csdn.net/sinat_30026065/article/details/82148587

2018年5月3日整理于深圳

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值