适用于 Centos 6.0+/7.0+. (为什么要写到issue中, 因为可以讨论)
1. 安装依赖
1.1 yum安装依赖
yum install -y libev-devel yum install mpdecimal # 可能不需要了 yum install mpdecimal-devel yum install mariadb-devel -y # libmysqlclient-dev没有, 只能用这个了 yum install zlib-static yum install libcurl-devel
centos7编译c程序报错:
- /usr/bin/ld: cannot find -lmysqlclient
- 原因:libmysqlclient.so不在/usr/lib目录下,而是在/usr/lib64/mysql目录下
- 解决:建一个软连接或者复制到/usr/lib目录下
- cp -r /usr/lib64/mysql/* /usr/lib/
1.2. 安装 jansson(也可以使用yum intall安装)
wget http://www.digip.org/jansson/releases/jansson-2.7.tar.gz
tar -xzvf jansson-2.7.tar.gz
cd jansson-2.7
./configure --prefix=/usrc
make && make install
查看是否安装成功:
> whereis libjansson
libjansson: /usr/lib/libjansson.la /usr/lib/libjansson.a /usr/lib/libjansson.so
1.3. 安装 kafka lib(也可以使用yum intall安装)
$ wget https://github.com/edenhill/librdkafka/archive/v0.11.3.tar.gz -O librdkafka-0.11.3.tar.gz
$ tar -xzxf librdkafka-0.11.3.tar.gz
$ cd librdkafka-0.11.3
$ ./configure
$ make
$ make install
2. 编译viabtc_exchange_server
本项目与官方的viabtc_exchange_server不同在于修改编译命令以适配于Centos, 其它源码都一样.
下载链接: https://github.com/lealife/viabtc_exchange_server/archive/master.zip
依次进入各个文件夹编译
cd depends/hiredis
make
cd network
make
cd utils
make
cd accesshttp
make
cd accessws
make
cd alertcenter
make
cd marketprice
make
cd matchengine
make
cd readhistory
make
如果编译都成功, 恭喜你, 已经成功了99%
3. Mysql配置
3.1 创建数据库
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
3.2 修改数据库配置
- 修改
matchengine/config.json
中的db_log
,db_history
数据库配置 - 修改
db_history/config.json
中的db_history
数据库配置
4. 启动
4.1 启动 Redis
请自行安装Redis.
启动它(必须要使用sentinel):
cd redis目录
redis-server ./redis.conf &
redis-sentinel ./sentinel.conf &
4.1 创建日志文件夹
mkdir -p /var/log/trade/
4.2 启动
cd matchengine
./restart.sh
cd ../alertcenter
./restart.sh
cd ../readhistory
./restart.sh
cd ../accesshttp
./restart.sh
cd ../accessws
./restart.sh
cd ../marketprice
./restart.sh
5. 测试
curl http://localhost:8080 -d '{"method": "market.list", "params": [], "id": 1516681174}'
更多接口测试可以安装 https://github.com/djpnewton/viaxchtest 非常方便
6. kafka安装与运行
kafka还没运行呢! 但暂时不影响步骤5的接口测试. 接下来要安装kafka和运行它.
大家可以搜索下, 很多资料!! 在Centos中安装kafka, 如 https://blog.csdn.net/wisgood/article/details/51497329