【TARS】UBUNTU下关于TAF框架的安装和C++环境的配置,以及demo实例

前言

本文中安装TARS框架的方法大部分都是来自于官方的GUIDE,官方GUIDE中配置TARS的方法很多,本文中只选择了适合本机的方法。本人系统是UBUNTU16,如果你也是ubuntu系统,希望能帮到你。安装步骤虽然多,仿佛比当初自己配caffe环境时还要麻烦,不过TARS用起来是真的方便,写逻辑业务就完事了。以前自己写HTTP还得要写一大堆的header解析就令人头疼。

一. 安装依赖库

sudo apt-get install build-essential bison flex cmake psmisc libncurses5-dev zlib1g-dev

二. MYSQL安装

(1) 我直接用的是apt-get的安装方式,cmd命令如下:

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

安装完成后可以在新终端的命令行中输入

service mysql start //启动mysql

这种安装方式,mysql的datadir和basedir等路径可以看其配置文件,cmd命令如下

vim /etc/mysql/mysql.conf.d/mysqld.cnf

如果要将mysql设置为可以远程访问,可以注销(需要root权限)配置文件中的

bind-address		= 127.0.0.1

(2) 创建mysql的账户
mysql安装完成后,会有个root的默认账户,该账户的密码在安装时会提示你设置,从终端进入mysql数据库。

mysql -u root -p

开始创建用于tars框架的新账户,在mysql中输入一下命令

CREATE USER 'tars'@'localhost' IDENTIFIED BY '123456'; 

其中,tars为mysql数据库的账户,123456为mysql的密码,localhost指的是本机的mysql数据库。创建完成后,该账户是没有权限的,我们要对其进行mysql的权限分配。

GRANT ALL PRIVILEGES ON *.* TO 'tars'@'localhost'; 
flush privileges;

权限分配完成,输入quit退出mysql,然后执行以下cmd命令重启mysql

service mysql restart

现在可以试试输入 mysql -u tars -p能否进入mysql数据库了。

三. TARS的C++环境安装

下载TARS框架源码,随便cd进入一个目录,我的是/home/chenzl/RPC/,在命令行输入

git clone https://github.com/TarsCloud/TarsFramework.git --recursive

下载完成后进入TarsFramework的目录,输入以下下命令把框架build起来

cd TarsFramework
git submodule update --remote --recursive
cd build
cmake ..
make -j4

该代码最终会安装到/usr/local目录下,我们需要做点前提工作,创建两个文件夹,这需要root权限

sudo /usr/local/app 
sudo /usr/local/tars

最后路径回到TarsFramework的目录下的build文件夹中,输入

make install

四. TarsWeb安装

TarsWeb是用于管理服务部署发布的平台,相当好用。
进入目录/home/chenzl/RPC,将TarsWeb的代码下载,并将其重命名为web后,拷贝到/usr/local/tars/cpp/deploy下

cd /home/chenzl/RPC
git clone https://github.com/TarsCloud/TarsWeb.git
mv TarsWeb web
sudo cp -rf web /usr/local/tars/cpp/deploy

官方GUIDE中为UBUNTU设计了一键部署的命令,命令如下

cd /usr/local/tars/cpp/deploy
sudo chmod a+x linux-install.sh
sudo linux-install.sh MYSQL_HOST MYSQL_ROOT_PASSWORD INET REBUILD(false[default]/true) SLAVE(false[default]/true) MYSQL_USER MYSQL_PORT

下面这段摘抄至官方GUIDE

MYSQL_HOST: mysql数据库的ip地址

MYSQL_ROOT_PASSWORD: mysql数据库的root密码(注意root不要有太特殊的字符, 例如!, 否则shell脚本识别有问题, 因为是特殊字符)

INET: 网卡的名称(ifconfig可以看到, 比如eth0), 表示框架绑定的本机IP, 注意不能是127.0.0.1

REBUILD: 是否重建数据库,通常为false, 如果中间装出错, 希望重置数据库, 可以设置为true

SLAVE: 是否是从节点

MYSQL_USER: mysql用户, 默认是root

MYSQL_PORT: mysql端口
//===============================================//
以我本机为例子,因为只在自己电脑上部署,所以是主节点了:
sudo ./linux-install.sh 0.0.0.0 123456 eth0 false false tars 3306

但是我遇到的问题没那么简单,安装过程报错了
具体错误如下:
【TARS】UBUNTU下关于TAF框架的安装和C++环境的配置,以及demo实例_第1张图片
仔细看上面的信息, 发现在tars-install过程中的参数对不上。其中USER是false,PORT是tars,试了挺多次都有这个错误,有可能是我自己的参数填的有问题(但是是根据guide中的命令来对参数进行修改了)。
于是我进入了目录/usr/local/tars/cpp/deploy,查看了linux-install.sh的脚本,发现了我们是执行到如下阶段报错的
【TARS】UBUNTU下关于TAF框架的安装和C++环境的配置,以及demo实例_第2张图片
报错的地方正是执行tars-install.sh这个脚本的开始阶段,既然前面的部分没有报错,那么我们就干脆直接自己在命令行执行tars-install.sh这个脚本。 从上图我们可以看到已经给出了参数的顺序,我们只需要按照顺序填就好了 , 但是填参数的时候你会发现,这个INSTALL_PATH应填什么呢,这个参数在linux-install.sh中已经给出了值:INSTALL_PATH=/usr/local/app
我的机器中命令如下,相应的参数你们自己对应着改就好了:

cd /usr/local/tars/cpp/deploy
sudo ./tars-install.sh 0.0.0.0 123456 192.168.31.99(这里HOSTIP地址ifconfig可以看到) true false tars 3306 /usr/local/app

安装完成。

五. 以下是最后的一点小配置

sudo -s source /etc/profile
//授予用户权限
sudo chown (你自己的用户名):(你自己的用户名)  /home/(你自己的用户名)/.pm2/rpc.sock /home/(你自己的用户名)/.pm2/pub.sock
sudo chown -R (你自己的用户名):(你自己的用户名) /usr/local/tars /usr/local/app

后面输入pm2 list,就会看到如下,同时登录http://(你填的HOSTIP):3000可进入Tarsweb
【TARS】UBUNTU下关于TAF框架的安装和C++环境的配置,以及demo实例_第3张图片
注意, 这里官方GUIDE中也提到过, 机器重启后可能会发现命令行输入pm2 list出不来上图了,此时需要输入以下代码

sudo su
source /etc/profile
/usr/local/app/tars/tars-start.sh  //启动tars服务
pm2 list 

六. demo实例

这里的方式仿照TARS快速入门(c++),因为这里已经有实例的demo了,我就不写了。这里只写新版的TarsWeb怎么使用,TarsWeb网站以及和老版本不一致了,所以我另写了一个。
1. 进入http://(你的HOSTIP):3000后的tarsweb页面
【TARS】UBUNTU下关于TAF框架的安装和C++环境的配置,以及demo实例_第4张图片
上图的左边栏目的,TestApp和AddTwoNumApp是我自己写的小程序,核心服务是左上的tars列表。

2. 发布服务
点击上方的运维管理,进入运维管理页面
【TARS】UBUNTU下关于TAF框架的安装和C++环境的配置,以及demo实例_第5张图片

应用: TestApp  //对应[APP]
服务名称:HelloServer  //对应[Server]
OBJ:HelloObj  //对应[Servant]
地址:HOSTIP

【TARS】UBUNTU下关于TAF框架的安装和C++环境的配置,以及demo实例_第6张图片
点击确定,在主页面中对该服务点击重启
【TARS】UBUNTU下关于TAF框架的安装和C++环境的配置,以及demo实例_第7张图片

3. 上传发布包
点击发布管理------>发布选中节点------>上传发布包,并发布, 完成!
【TARS】UBUNTU下关于TAF框架的安装和C++环境的配置,以及demo实例_第8张图片

接下来我们在命令行运行官方实例,就会有如下
在这里插入图片描述

网上看到关于UBUNTU安装TARS的教程不是很多,而且感觉别人写的有点乱,于是就自己写一个了,自己安装的过程也踩了很多坑。如果有疑问欢迎留言,如果能帮到您,小手收藏点赞哈。

你可能感兴趣的:(网络编程,TARS框架,C++)