本篇文章主要介绍如何在无网环境安装Tars框架!
参考Tars Github:
1.https://github.com/TarsCloud/Tars/blob/master/Install.zh.md
2.https://github.com/TarsCloud/Tars/blob/master/build/install.sh
说明:
本篇安装文档是基于root用户编写,缺少了切换root用户 和添加sudo的过程。
安装机器IP:192.168.6.10
普通用户名:maocong90
1. 离线安装依赖包下载
链接: https://pan.baidu.com/s/1ot2vZPLnNjV31hZdPTAwRw
提取码: k8z9
下载后得到以下三个压缩包,这些包是从在线安装Tars的环境中打包而来,已包含网络下载内容。
tarsweb-unnetwork.tar.gz
node-v8.11.3-unnetwork.tar.gz
TarsFramework-unnetwork.tar.gz
2. 环境
2.1 系统
安装过的系统版本:Redhat7.2、Redhat7.3、Redhat7.6
2.2 检查基本环境
gcc 、bison、flex 等Redhat7.x系统自带,无需重复安装。
2.3 安装cmake
tar zxvf cmake-2.8.8.tar.gz
cd cmake-2.8.8
./bootstrap
make
make install
2.4 安装glibc
rpm -ivh glibc-2.17-260.el7_6.3.x86_64.rpm --nodeps
rpm -ivh glibc-common-2.17-260.el7.x86_64.rpm --nodeps
rpm -ivh glibc-headers-2.17-260.el7_6.3.x86_64.rpm --nodeps
rpm -ivh glibc-devel-2.17-260.el7_6.3.x86_64.rpm --nodeps
2.5 安装ncurses-devel
rpm -qa | grep ncurses
rpm -ivh ncurses-base-5.9-14.20130511.el7_4.noarch.rpm --nodeps
rpm -ivh ncurses-libs-5.9-14.20130511.el7_4.x86_64.rpm --nodeps
rpm -ivh ncurses-5.9-14.20130511.el7_4.x86_64.rpm --nodeps
rpm -ivh ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm --nodeps
2.6 安装zlib
rpm -qa | grep zlib
rpm -ivh zlib-1.2.7-18.el7.x86_64.rpm
rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm --nodeps
2.7 卸载mariaDB
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.x86_64
2.8 安装mysql
提示:如果是普通用户,需切换至root用户。
cd /usr/local/
mkdir mysql-5.6.26
chown maocong90:maocong90 ./mysql-5.6.26
ln -s /usr/local/mysql-5.6.26 /usr/local/mysql
tar zxvf mysql-5.6.26.tar.gz
cd mysql-5.6.26
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.26 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make
make install
2.9 安装perl
rpm -ivh perl-5.16.3-294.el7_6.x86_64.rpm --nodeps
rpm -ivh perl-core-5.16.3-294.el7_6.x86_64.rpm --nodeps
rpm -ivh perl-devel-5.16.3-294.el7_6.x86_64.rpm --nodeps
rpm -ivh perl-File-Remove-1.52-6.el7.noarch.rpm --nodeps
rpm -ivh perl-libs-5.16.3-294.el7_6.x86_64.rpm --nodeps
rpm -ivh perl-Module-Install-1.06-4.el7.noarch.rpm --nodeps
rpm -ivh perl-Module-ScanDeps-1.10-3.el7.noarch.rpm --nodeps
2.10 配置mysql
cd /usr/local/mysql
useradd mysql
rm -rf /usr/local/mysql/data
mkdir -p /data/mysql-data
ln -s /data/mysql-data /usr/local/mysql/data
chown -R mysql:mysql /data/mysql-data /usr/local/mysql/data
cp support-files/mysql.server /etc/init.d/mysql
perl scripts/mysql_install_db --user=mysql
2.11 完善my.cnf
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
log_bin
# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
# port = .....
# server_id = .....
socket = /tmp/mysql.sock
bind-address= 192.168.6.10
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
2.12 启动mysql
service mysql start
chkconfig mysql on
2.13 添加mysql的bin路径
echo "PATH=\$PATH:/usr/local/mysql/bin" >> /etc/profile
echo "export PATH" >> /etc/profile
source /etc/profile
2.14 修改root密码
提示:需root账户
cd /usr/local/mysql/
./bin/mysqladmin -u root password 'root@appinside'
./bin/mysqladmin -u root -h 192.168.6.10 password 'root@appinside'
2.15 添加mysql的库路径
echo "/usr/local/mysql/lib/" >> /etc/ld.so.conf
ldconfig
3. 安装v8.11.3
提示:/home/<path>/ 是您解压node-v8.11.3-unnetwork.tar.gz的目录
tar zxvf node-v8.11.3-unnetwork.tar.gz
vim /etc/profile
export NODE_HOME=/home/<path>/v8.11.3/bin
export PATH=$NODE_HOME:$PATH
激活修改
source /etc/profile
#验证
node -v
npm -v
pm2 list
4. C++ 开发环境安装
tar zxvf TarsFramework-unnetwork.tar.gz
cd TarsFramework/build/
rm -rf CMakeCache.txt
chmod u+x build.sh
./build.sh all
切换至root用户
cd /usr/local
mkdir tars
chown maocong90:maocong90 ./tars/
安装
cd TarsFramework/build
./build.sh install
5. Tars数据库环境初始化
5.1 赋权
mysql -uroot -proot@appinside -e "grant all on *.* to 'tars'@'%' identified by 'tars2015' with grant option;"
mysql -uroot -proot@appinside -e "grant all on *.* to 'tars'@'localhost' identified by 'tars2015' with grant option;"
mysql -uroot -proot@appinside -e "grant all on *.* to 'tars'@'192.168.6.10' identified by 'tars2015' with grant option;"
mysql -uroot -proot@appinside -e "flush privileges;"
5.2 修改部署ip信息
cd TarsFramework/sql/
sed -i "s/192.168.6.115/192.168.6.10/g" `grep 192.168.6.115 -rl ./*`
chmod u+x exec-sql.sh
./exec-sql.sh
6. TARS框架运行环境搭建
6.1 框架打包
cd TarsFramework/build
make framework-tar
make tarsstat-tar
make tarsnotify-tar
make tarsproperty-tar
make tarslog-tar
make tarsquerystat-tar
make tarsqueryproperty-tar
提示:framework-tar是安装核心服务需要的包,其他均为安装普通服务所需包。
6.2 安装框架核心基础服务
提示:切换至root用户
mkdir -p /usr/local/app/tars/
cd /usr/local/app/
chown maocong90:maocong90 ./tars/
cd TarsFramework/build
cp framework.tgz /usr/local/app/tars/
tar xzfv framework.tgz
cd /usr/local/app/tars
sed -i "s/192.168.2.131/192.168.6.10/g" `grep 192.168.2.131 -rl ./*`
sed -i "s/db.tars.com/192.168.6.10/g" `grep db.tars.com -rl ./*`
sed -i "s/registry.tars.com/192.168.6.10/g" `grep registry.tars.com -rl ./*`
sed -i "s/web.tars.com/192.168.6.10/g" `grep web.tars.com -rl ./*`
cd /usr/local/app/tars
chmod u+x tars_install.sh
./tars_install.sh
./tarspatch/util/init.sh
查看rsync :
ps -ef | grep rsync
6.3 安装web
提示:建议将tarsweb放在 /usr/local/下。
cd /usr/local/
tar zxvf tarsweb-unnetwork.tar.gz
cd tarsweb
sed -i "s/192.168.6.115/192.168.6.10/g" `grep 192.168.6.115 -rl ./config/*`
cd tarsweb
npm run prd
至此,可以在本地机访问web管理系统,但是如果不能通过ip远程访问web管理系统,请检查防火墙。
6.4 安装框架基础服务【参考官网4.4】
tarslog
tarsstat
tarsproperty
tarsqueryproperty
tarsquerystat
7.注意事项
7.1 无法远程访问web 和 远程访问mysql
mysql -utars -h192.168.6.10 -ptars2015
Warning: Using a password on the command line interface can be insecure.
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.6.10' (113)
解决:
1.确认是否已经对远程访问授权。
2.本机防火墙是否关闭,需要关闭防火墙
检查: systemctl status firewalld
临时关闭:systemctl stop firewalld
永久关闭:systemctl disable firewalld
开启命令:systemctl enable firewalld
7.2 机器重启之后,如何恢复web服务
1.重启mysql
service mysql start
chkconfig mysql on
2.检查
node -v
npm -v
pm2 list
3.启动web
cd /usr/local/tarsweb/
npm run prd
pm2 restart tars-node-web
4.手工启动tars
cd /usr/local/app/tars
./tars_install.sh