1. 概述
自动化部署工具可以实现一键部署工程或组件,并且可使用通用配置、选择开机自启动等,但部署完毕后仍须在平台上手动配置外接数据库,配置集群。
注:本文的「自动化部署工具」将 Tomcat、Nginx、Redis、FTP 部署到工具所在服务器上;实际配置集群时推荐集群节点和集群组件不在同一个服务器上,建议使用工具选择性部署。详情请参见:机器要求
2. 准备工作
2.1 准备工具
分类 | 工具 | 版本 |
---|---|---|
工具下载 | 下载请点击:自动化部署工具 | - |
运行环境 | CentOS、Redhat | - |
可部署应用 | Web 容器 | Tomcat(内置 JDK) |
负载均衡 | Nginx-1.15.6(附带 openssl-1.1.1a、pcre-8.42、zlib-1.2.11、ngx_healthcheck_module ) | |
状态服务器 | Redis-5.0.4 | |
文件服务器 | vsftpd-2.2.2-27.1.x86_64( RedHat6.x&CentOS6.x 环境默认使用版本) vsftpd-3.0.222.el7.x86_64.rpm( RedHat7.x&CentOS7.x 环境默认使用版本) |
2.2 配置环境
部署集群之前,请确保已准备好集群工程所需的环境:环境准备
环境检测:环境检测工具
3. 操作步骤
3.1 启动工具
1)下载工具到服务器,将压缩包传至 /opt 目录下,并进行解压,即可使用工具进行部署。
cd /opt #进入到opt目录下
unzip cluster-deployment-master@767940dc72f.zip #解压工具包到当前目录
cd /opt/Fine-cluster-deployment-1.3.2 #进入部署工具目录
chmod +x deploy.sh #给部署工具赋予可执行权限
./deploy.sh #启动部署工具
操作步骤示例:
2)执行后,看到上图的步骤,说明已经启动成功。
3)进行选择语言环节,请根据系统语言环境选择语言,选择中文输入1,选择英文输入2,然后按 Enter 键确认。
3.2 部署工程
注意:部署集群时要求一个工程通过平台配置开启集群成功后,再拷贝此工程到其他节点,因此部署工程的部署只在一个服务器上操作即可。
1)请根据需要选择部署的组件 Tomcat、Nginx、Redis 、Vsftp ,输入 y 或者按 Enter 键确认,如果输入 n 意味着选择退出该项目的部署,如下图所示:
2)确认部署后,会进入端口和路径自定义步骤,可以输入自定义值来进行自定义,若并不需要自定义,可以输入 Enter 键使用默认值并进入下一步,如下图所示:
操作步骤示例:
3)在部署完 Tomcat 后,可为其配置 JVM,JVM默认为 2048M , 手动输入后,自动在 Tomcat 的catalina.sh中增加 JAVA_OPTS="$JAVA_OPTS -Xms#输入值#M -Xmx#输入值#M",如下图所示:
4)当一个项目部署完毕后,工具会提示是否要部署其他项,需要部署则输入 y 确认,不部署退出工具则输入 n 或按 Enter 键。
操作步骤示例:
3.3 部署Nginx
1)请根据需要选择部署 Nginx,输入 y 或者按 Enter 键确认,如果输入 n 意味着选择退出该项目的部署,如下图所示:
2)确认部署后工具会检测 GCC 环境,检测完毕后进入端口和路径自定义步骤,操作步骤略,和 Tomcat 基本一样。
若用户的系统版本属于(Redhat6\Centos6\Redhat7\Centos7),直接安装匹配客户系统预先编译好的 Nginx、Redis 二进制包(Nginx 的二进制文件包含主动健康检查模块和 SSL 模块)
若客户的系统版本不属于上面的 4 个大版本,则提示用户自行安装 GCC ,并退出安装。
注:本例使用 Centos7 来做介绍。
操作步骤示例:
3)安装完毕后,输入 Nginx 要负载的应用 IP:端口 可自动写入配置文件 nginx.conf,选择是否继续部署其他组件或者退出,输入 y 继续部署,输入 n 或按 Enter 退出。如下图所示:
3.4 部署Redis
注:若用户的系统版本属于(Redhat6\Centos6\Redhat7\Centos7),直接安装匹配客户系统预先编译好的 Nginx、Redis 二进制包。
1)请根据需要选择部署 Redis,需要输入y 或者按 Enter 键确认,如果输入 n 意味着选择退出该项目的部署,并确认安装位置,如下图所示:
2)是否使用集群配置文件,选择 y 或者 n,并选择端口号,如下图所示:
3)是否继续添加集群配置,选择 y 或者 n,如下图所示:
注:Redis 单机和 Redis 集群均采用 Redis-5.0.4 版本,且Redis单机和集群配置文件、Nginx 配置文件均采用帮助文档上的通用配置。
3.5 部署 vsftp
注意:vsftpd 的部署采用的是 RPM 包部署,所以无须选择路径和端口,部署完毕后会提示是否要新建 FTP 用户和密码。
1)请根据需要选择部署 vsftp,需要输入 y 或者按 Enter 键确认,如果输入 n 意味着选择退出该项目的部署。
2)可以自定义 FTP 的用户和密码,若不需要自定义,直接按 Enter 键使用默认的账号密码(账号 vsftpuser,密码 123456)
操作步骤示例:
3)部署完毕后,想要使用 vsftp,还需要拷贝 Web 工程里的 WEB-INF 文件夹到/home/vsftpuser目录下,然后给文件夹赋予读写权限。
chmod -R 777 /home/vsftpuser #给ftpuser文件夹赋予写入权限
#如果考虑安全性,不能给777权限,可以只给755权限,命令是chmod -R 755 /home/vsftpuser,但是拷贝 WEB-INF 文件时务必使用 FTP 用户,否则会因为文件归属问题导致不能写入。
4. 平台配置集群
部署完上面的组件,分别启动后,即可通过平台配置集群,配置流程:平台配置集群
注:第一个节点出现后,将第一个节点的工程包(webroot)拷贝到其他服务器下,然后启动这些服务器,新的节点就会加入节点管理中。
5. 默认配置
部署时若未对端口、路径、配置文件进行自定义,则默认使用通用配置,如下所示:
组件 | 默认项 | 启停操作(均为进入启动目录操作) |
---|---|---|
Tomcat | 端口:8080 路径(FR):/usr/fine/tomcat-FR-linux/bin 路径(FR):/usr/fine/tomcat-BI-linux/bin | 启动:./startup.sh 停止:./shutdown.sh ( 使用shutdown一般无法完全清理完进程,可以通过ps -ef|grep tomcat查看进程,再用kill -9 进程号 杀死进程 ) |
工程 | websocket端口:FineReport 为38888、FineBI 为48888 | 无,随 Tomcat 启动 |
Nginx | 端口:80 启动路径:/usr/local/nginx/sbin 配置文件:/usr/local/nginx/conf/nginx.conf Websocket转发端口:FineReport 为38889、FineBI 为48889 | 启动:./nginx 停止:./nginx -s stop 更新配置:./nginx -s reload (不会停止nginx) |
Redis | 端口:7379 启动路径:/usr/local/redis/bin 配置文件:/usr/local/redis/redis.conf 密码:admin123456 注:/usr/fine下面的是一些源码包依赖,会在系统目录/usr/local 下自动生成启动工具和配置文件。 | 启动:./redis-server /usr/local/redis/redis.conf 停止:./redis-cli -a 密码 shutdown |
vsftpd | 端口:21 文件路径:/home/vsftpuser 配置文件:/etc/vsftpd/vsftpd.conf 用户:vsftpuser 密码:123456 | 启动:service vsftpd start 停止:service vsftpd stop (FTP 的启停操作为系统操作,可以在任意目录进行 ) |
6. FAQ
6.1 缺少GCC
缺少 GCC 环境将导致无法正常部署 Nginx 和 Redis,联网环境可yum instal gcc-c++命令安装 GCC 环境,离线环境比较复杂,请自行安装。
6.2 部署路径冲突
路径冲突多发生在之前已部署过项目的情况,可以根据报错清理对应目录后再次部署,或者自定义目录进行部署。
例如 Redis 安装时路径冲突,清理以下红框内的目录即可。
6.3 部分Shell工具无法删除文字
可按住Ctrl键进行删除。