双击此处添加文字
Linux下安装OurwayBI
来源: | 作者:佚名 | 发布时间: 2023-03-31 | 1662 次浏览 | 分享到:

1 Linux环境


1.1 Linux系统版本建议


(1)CentOS7.6以上版本;

CentOS查看版本命令:lsb_release -a

CentOS系统安装教程参考文档:

http://blog.csdn.net/H875035681/article/details/123153807


(2)Ubuntu16.04及以上版本;

Ubuntu查看版本命令:lsb_release -a;

Ubuntu系统安装教程参考文档:

http://blog.csdn.net/m0_58085107/article/details/123856822


 2 BI部署及环境

该文档为最新版本BI安装教程,老版本linux安装BI点此处跳转

注:以下操作请在root用户权限下完成。

安装前请使用命令检查该Linux环境中是否已安装node、npm、pm2、redis、jdk及版本号。

node -v

npm -v

pm2 -v

redis-server  -v

java -version

(如果环境中已有node、npm、pm2、redis、jdk且同上图版本相同,可跳过JDK安装、node安装、redis安装,直接启动BI服务。如果没node、npm、pm2、redis、jdk这些环境则参照该文档下面章节步骤安装相关环境组件。)

当前示例在centos7.6环境中的操作如下,Ubuntu环境类似,仅部分操作命令有所不同。


2.1 BI安装包上传并解压


在linux系统中/root/目录下新建文件夹Cross,命令如下:

cd  /root/

mkdir Cross

可以使用xftp工具将BI安装包上传至linux系统/root/Cross/目录下

解压安装包(例如BI安装包名为LinuxBInewV2.0.tar.gz),命令如下:

tar -zxvf  LinuxBInewV2.0.tar.gz


3 安装jdk1.8


在线安装:

#yum -y install java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7

#yum -y install java-1.8.0-openjdk-devel-1.8.0.262.b10-1.el7

验证,注意下面的目录可能需要根据这条命令的结果来调整:

# rpm -ql java-1.8.0-openjdk-devel.x86_64 | grep bin$

# /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64/bin/java -version

设置路径:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64

echo $JAVA_HOME

配置环境变量

# vi ~/.bashrc

在文件末尾位置加入以下内容:

export JAVA_HOME=java安装路径

export PATH=$JAVA_HOME/bin:$PATH

刷新配置,查看是否完成配置

# source ~/.bashrc

# echo $JAVA_HOME

上述为在线安装JDK,JDK版本在JDK1.8.0.181~~JDK1.8.0.352之间,若想离线安装JDK可在网上搜索安装教程自行安装。


4 安装node和npm


4.1 安装node

注:如果Linux系统是麒麟系统,请下载与麒麟系统匹配的arm 64node-V10.16.3版本,

ARM架构node下载链接:https://nodejs.org/download/release/v10.16.3/node-v10.16.3-linux-arm64.tar.gz

(1)解压BI安装包找到node文件

tar -zxvf ourwaybinewV2.0.tar.gz

Linux版BI软件包中已包含node文件,解压BI安装包后在ourwaybinewV2.0文件夹下


4.2 将node文件夹移动到/opt/目录

将解压出的文件夹移动到/opt/目录下,命令如下(须在/root目录下执行)    

mv node-v10.16.3-linux-x64/  /opt/

MVlinux命令,node文件/文件夹和 移动的目的目录中间要有空格)


4.3 拷贝node到/usr/local/bin目录下


将node拷贝到/usr/local/bin目录,命令如下:(不会返回结果)

cp /opt/node-v10.16.3-linux-x64/bin/node  /usr/local/bin/


4.4 拷贝node_modules文件夹到/usr/local/lib目录下


将node_modules文件夹拷贝到/usr/local/lib目录,命令如下:(不会返回结果)

cp -r /opt/node-v10.16.3-linux-x64/lib/node_modules  /usr/local/lib/


4.5 创建npm链接到/usr/local/bin目录


创建npm命令链接,命令如下:

ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm


5 安装pm2


5.1 使用npm安装pm2模块

使用npm安装pm2模块,命令如下(此命令需要几分钟执行时间):

npm install pm2@latest -g

如果安装时弹出以下提示:npm WARN invalid config registry=""

npm WARN invalid config Must be a full url with'http://'

解决方法:

修改npm镜像设置

清空缓存
npm cache clean --force
查看当前的npm镜像设置
npm config get registry
切换新源
npm config set registry 
https://registry.npmmirror.com
查看新源是否设置成功
npm config get registry

执行安装命令

npm install pm2 -g

成功效果类似下图:


5.2 验证安装结果


执行命令验证安装是否成功,命令如下:

node -v

npm -v

pm2 -v



6 安装Redis

6.1 安装Redis服务

新环境安装redis前要安装 gcc++

yum install gcc-c++ libstdc++-devel

安装过程 

yum install cpp 

yum install binutils 

yum install glibc 

yum install glibc-kernheaders 

yum install glibc-common 

yum install glibc-devel 

yum install gcc 

yum install make

注意gcc依赖了很多东西,有些包可能系统已经装了,有些没有,防止出意外,最好都走一遍。

(1)获取redis资源

软件安装包中已经含有redis文件包,解压后找到ourwaybinewv2.0/redis/redis-5.0.8/  

(2)解压

tar xzvf redis-5.0.8.tar.gz  (安装包中已经解压好,可跳过这一步)

(3)安装

cd redis-5.0.8

make

cd src

make install


6.2 启动Redis服务,并测试是否启动成功

启动redis服务

 redis-server &

//查看redis版本

redis-server -v

执行redis-server后,命令行会阻塞,需要在另一个终端测试:

redis-cli

 set foo bar

 get foo


 BI服务启动


7.1 安装服务模块(离线包中已经有离线的node_modules依赖文件,更新补丁时才需要此步骤安装第三方依赖文件

Cross_SBI、Cross_SBI_API两个目录下分别执行cnpm i命令,示例如下(注意路径)

cd /root/Cross/ourwaybinewV2.0/Cross_SBI

 cnpm i   (用的国内镜像)

cd /root/Cross/ourwaybinewV2.0/Cross_SBI_API

cnpm i

执行效果类似下图:



若遇到提示错误,再执行一次就行(有可能某些是因为网络原因导致执行不成功)


7.2 启动服务


在三个目录下分别执行启动命令,示例如下(注意路径):

cd /root/Cross/ourwaybinewV2.0/Cross_SBI_API

npm run pm2

cd /root/Cross/ourwaybinewV2.0/Cross_SBI

npm run pm2

cd /root/Cross/ourwaybinewV2.0/bi-full

npm run pm2

或者可以使用sh命令启动安装包中的newbi.sh

启动完成:

使用命令:pm2 list 查看确认各项服务正常,并在客户端火狐或者谷歌浏览器中输入     

服务器的“ip:port” 访问(客户端与服务器端需在相同网段内,否则需要做网络映射)

8 其他问题解决方法汇总


8.1 CentOSMySQL的安装


yum命令默认无法安装MySQL-server程序,可通添加MySQL的yum源,然后执行自动安装,命令如下:

rpm -Uvh

http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

yum install mysql mysql-server mysql-libs mysql-server

安装完成后直接输入mysql命令即可进入mysql数据库,默认是空密码

其他备用资源:

(1)mysql重置密码方法(如果忘记密码的话,可以使用此方法来重置)

http://cnblogs.com/bincoding/p/6480779.html

(2)将root的用户开启在外部访问(若不开启,只以在本机访问)

http://blog.csdn.net/qq_27575627/article/details/50172673


8.2 设置init.sh脚本root用户登陆自启动


systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service#禁止firewall开机启动

因为重启linux后,每次都要手工启动redis和pm2的相关服务,所以可以设置为在linux中开机启动相关的服务,操作如下(建议使用此方法):

在/root/.bash_profile配置文件中添加一行命令语句,命令如下:

(1)cd /root

(2)vi .bash_profile //打开编辑用户配置文件.bash_profile文件

(3)加入一行执行命令:

sh /root/init.sh  //执行该文件

保存后关闭

第(3)步添加命令如图所示:

其中init.sh脚本内容,示例如下(注意路径)

#!/bin/sh

redis-server &

cd /root/Cross/ourwaybinewV2.0/Cross_SBI_API

npm run pm2

cd /root/Cross/ourwaybinewV2.0/Cross_SBI

npm run pm2

cd /root/Cross/ourwaybinewV2.0/bi-full

npm run pm2

cd ~

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT


8.3 设置init.sh脚本开机自动运行


在/etc/rc.d/rc.local配置文件中添加一行命令语句,命令如下:

(1)cd /ect/rc.d   //进入/ect/rc.d目录

(2)vi rc.local //打开并编辑rc.local文件

(3)加入一行命令sh /root/init.sh保存后关闭

(4)chmod +x /etc/rc.d/rc.local

第(3)步添加命令如图所示:



8.4 设置网络开机自启动


修改ifcfg-ens33配置文件,实现开机网络自动开启,命令如下:

(1)cd /etc/sysconfig/network-scripts

(2)gedit ifcfg-ens33

(3)ONBOOT = no 改为ONBOOT = yes

修改过程如图所示:



8.5 查看IP命令


Ifconfig 


8.6 安装中的问题


(1)cnpm与node版本不匹配,报错提示”Cannot find module 'fs/promises'”

解决方法:降低cnpm版本

(2)系统错误提示:Script not found

JDK未安装

解决方法:安装jdk1.8 版本在JDK1.8.0.181~~JDK1.8.0.352之间,并配置环境变量


(3)系统错误提示:pm2 command not found

pm2未安装


解决方法:安装pm2,具体步骤参照第二章第4节安装pm2


(4)如需用到oracle数据库作为数据源,请在服务器端安装oracle客户端。