公有阿里云部署web应用
大家好,今天花了一天时间,从申请阿里云ECS服务器(实例管理,安全组管理,开放端口),再到部署相关中间件,安装数据库,配置文件的修改直到配置完成。下面就来讲讲这过程。
工具材料准备:
1、 [endif]mobaXterm(这个工具比Xshell工具好用,不仅可以执行命令,文件可以直接以拖的形式完成上传,而无需FTP工具进行上传);
2、 [endif]Navicat(用于连接数据库);
3、 [endif]Sublime(文件编辑器);
4、 [endif]JDK 1.8的安装包;
5、 [endif]Web应用的jar等相关文件。
再讲解部署之前,先预先开设好相关端口:
22:ssh服务端口;
3389:远程桌面端口;
3306:Mysql连接端口;
80:http;
443:https;
8080:代理端口;
6379:redis默认端口;
2181:zookeeper端口,对cline端提供服务;
3888:选举leader使用,集群部署才会用到;
2888:集群内机器通讯使用(Leader监听此端口),集群部署才会用到;
下面就进入web应用安装部署的正文吧!
一、Linux环境初始化
1.1 创建/data目录:
如果/data目录存在则跳过。
mkdir -p /data
1.2 添加阿里yum源:
检查yum源是否正常,正常则跳过:
yum list
1.3 备份原有repo文件:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
1.4 下载阿里云repo文件:
wget -O /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo
1.5 yum源更新:
yum clean all
yum makecache
yum update
更新共有361行,大概2分钟。


二、云枢产品安装包
下载安装包
以1.5.0-alpha.26.5版本为例,下载的文件名为:cloudpivot_v.1.5.0-alpha.26.5_20191231201147.zip。
下载完成后将安装包上传到服务器/data目录下。
执行命令:unzip

出现上图: -bash: unzip: command not found,则使用yum进行安装:
执行
yum install -y unzip zip
继续完成解压
cd /data
unzip cloudpivot_v.1.5.0-alpha.26.5_20191231201147.zip
大概10秒就解压完成。
三、 中间件的安装
3.1 安装JDK 8:
验证:
#java -version #出现java version
"1.8.0_144"字样,表示已安装jdk
#echo $JAVA_HOME #出现/data[if !supportAnnotations][l1][endif] /jdk1.8.0_144字样,表示已配置JAVA_HOME

Linux 安装JDK及配置JAVA_HOME的操作步骤:
I 、通过Xftp将下载下来的jdk上传到指定虚拟机上传到/data目录下:

注意:首先用:cd /data命令进入jdk压缩文件所在目录,否则会提示找不到文件。
II 、通过Xshell连接到虚拟机,执行如下命令,解压文件:
#tar zxvf jdk-8u144-linux-x64.tar.gz
III 、使用Vi编辑器,设置环境变量
#sudo vi /etc/profile
在文件最后,添加如下内容:
#Java Environment
export JAVA_HOME=/data/jdk1.8.0_144
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin


保存的话,需要先按esc退出编辑模式。进入阅读视图;
接着键盘输入 shift+: 如左下角显示;
如果要保存退出,输入wq。
IV、 退出vi编辑器,使环境变量设置立即生效
#source /etc/profile
V 、查看JDK版本
#java -version
出现下图红框代表安装成功。

#echo $JAVA_HOME #出现/data/jdk1.8.0_144字样,表示已配置JAVA_HOME。

3.2 安装Docker:
#yum install docker
点击y继续。
安装完成后,输入:docker version验证。
出现以下字样表示安装成功:

启动并设置开机自启:
service docker start
chkconfig docker on

3.3 安装Redis:
docker run --name bpm3.0-redis -p6379:6379--restart=always -d redis:4-alpine3.8 --requirepass "H3yuncom"

3.4 安装Zookeeper:
docker run -d --name bpm3.0-zk -p 2181:2181--restart=always zookeeper

大概需要5分钟。

3.5 安装Nginx:
docker run --name bpm3.0-nginx -p 80:80 -p443:443 -v /data/cloudpivot/program/frontEnd/:/usr/share/nginx/html -v /data/cloudpivot/middleware/nginx/conf/nginx.conf:/etc/nginx/nginx.conf--privileged=true -v /data/cloudpivot/middleware/nginx/log:/var/log/nginx -v/etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro -v/data/cloudpivot/middleware/nginx/ssl/:/etc/nginx/ssl/:rw --restart=always -dnginx:latest

大概需要1分钟。
3.5.1 修改nginx.conf配置文件:
文件位置:
/data/cloudpivot/middleware/nginx/conf/nginx.conf
说明:可以用sublime工具打开。

退出,点全部保存。
重启nginx:
docker restart bpm3.0-nginx
3.6 安装Mysql数据库:
数据库要求使用UTF8编码集。
默认的密码是:test123456
docker run -itd --name bpm3.0-mysql -v/data/cloudpivot/middleware/mysql/mysql-data/:/var/lib/mysql -v/data/cloudpivot/middleware/mysql/conf/my.cnf:/etc/mysql/my.cnf--privileged=true -e MYSQL_ROOT_PASSWORD=test123456 -p 3306:3306--restart=always mysql:5.7
当出现Status: Downloaded newer image for
docker.io/mysql:5.7字样,表示mysql安装成功。

需要提供以下配置项:
数据库连接地址。 如:mysql jdbc:mariadb://127.0.0.1:3306/cloudpivot
用户名。 如:root
密码。 如:test123456
下文引擎配置文件修改需要用到。
四、应用部署
4.1 portal
portal即前端部分。
4.1.1 调整config.js配置:
文件位置:
/data/cloudpivot/program/frontEnd/portal/config.js
/data/cloudpivot/program/frontEnd/portal/admin/config.js
/data/cloudpivot/program/frontEnd/portal/mobile/config.js
修改前:

修改后:

4.2 engine
4.2.1 Yaml配置文件修改(application-prod.yml)
文件位置:/data/cloudpivot/program/backEnd/engine/application-prod.yml
只要修改下图的ip为服务器公网的ip即可。

4.2.2 SQL脚本
按照版本顺序执行。
用Navicat工具连接Mysql:创建连接,创建数据库。

点击数据库,右击,运行sql文件。
脚本存放位置:
mysql:/data/cloudpivot/db/migration/mysql/deploy
执行完所有数据库脚本后:

接着更新授权回调地址:
Portal服务器IP:指portal部署的服务器IP地址,也可以是域名:
UPDATE base_security_client SET
registeredRedirectUris='http://Portal服务器IP/admin,http://Portal服务器IP/admin#/oauth,http://Portal服务器IP/oauth'WHERE id='8a5da52ed126447d359e70c05721a8aa';
把服务器公网IP填入后如下,新建查询,执行即可。
UPDATE base_security_client SET registeredRedirectUris='http://47.111.241.71/admin,http://47.111.241.71/admin#/oauth,http://47.111.241.71/oauth'WHERE id='8a5da52ed126447d359e70c05721a8aa';

4.3 webapi
4.3.1 Yaml配置文件修改(application-prod.yml)
文件位置:/data/cloudpivot/program/backEnd/webapi/application-prod.yml
需要修改3个地方:
I、加api:

II、账号密码登录改为true:

III、sso地址改为公网IP:

4.4 启动应用
cd /data/cloudpivot/program/backEnd
./deploy.sh engine
tail -300f engine/engine-logs/log_total.log

大概3分钟,--跳出引擎启动成功,直接ctrl+z退出到命令输入模式继续执行命令即可。
./deploy.sh webapi
tail -300f webapi/logs/log_total.log
日志大概跑1分钟。
门户访问地址:47.111.241.71/login

说明:如果登录界面出现无法登录,需要考虑重启nginx(web服务器),nginx的配置文件修改后,都需要重启才能生效:docker restart bpm3.0-nginx。
以上就是用阿里云,在Linux centos系统以Nginx为web服务器,部署配置web应用的过程,希望对像我这样刚接触Linux系统的小伙伴有所作用。