前置条件
目录要求
请提前申请集群版的license文件并将申请的license文件放到/wxqyh/目录下,文件名字为verifyinfo,如果license文件有问题部署后tomcat会启动失败
/wxqyh/目录结构如下图
安装环境
1.添加服务器信息
#参照格式添加服务器账号密码配置
vim /wxqyh/soft/init_keys.py
##### 2.执行初始化脚本
sh /wxqyh/soft/init.sh
部署
1. 修改/wxqyh/qwy-ansible-autodeploy目录下的配置文件qw_deploy_conf.yml
根据提示填写具体的部署主机、部署组件配置参数,需要改的地方主要有主机、端口还有密码配置等,注意同一台机器的端口不要相同
定义好服务器列表后,后面的host参数代表需要安装的主机
# 企微产品标准版 - 自动部署配置
# 云办公版本
qw_app_version: 3.1.0
# 部署环境名称
env-name: sample-poc
# 部署物料路径(绝对路径)
wxqyh-resource-path: /wxqyh
#license配置,ip使用服务端的内网ip,服务端会监听8080端口,请注意端口冲突
license_ip: 127.0.0.1
license_port: 30000
# 部署环境 host ip 列表
host-info:
- hostname: wxqyh01
ip: 192.168.72.100
- hostname: wxqyh02
ip: 192.168.72.101
- hostname: wxqyh03
ip: 192.168.72.102
# jdk 配置,安装tomcat,activemq,es的机器都要配置
jdk:
hosts:
- host: wxqyh01
- host: wxqyh02
- host: wxqyh03
# activemq 配置
activemq:
host: wxqyh01
port: 61616
# activemq admin 账户账号密码
admin-username: admin
admin-password: admin123
# activemq user 账户账号密码
user-username: do1
user-password: do123
# redis 配置
redis:
host: wxqyh01
port: 6379
# redis的密码
password: 1111a
# elasticsearch 配置
elasticsearch:
hosts:
- host: wxqyh01
- host: wxqyh02
- host: wxqyh03
port: 9200
# 部署es的数量 单机填1 集群填3
es_cluster_num: 3
# 最大内存
Xmx: 2g
# 最小内存
Xms: 2g
# mysql 配置
mysql:
host: wxqyh01
# 数据库端口
mysql_port: 3306
# 数据库库名
database_name: wxqyh
# 数据库用户名
username: root
# 数据库密码
password: do1admin
# 微服务注册中心discovery 配置
discovery:
hosts:
- host: wxqyh02
port: 8761
- host: wxqyh03
port: 8761
# 是否集群部署 集群填1 单机填0
cluster: 1
# 注册中心地址配置
eureka_url: http://192.168.72.101:8761/eureka,http://192.168.72.102:8761/eureka
# memcached 配置
memcached:
host: wxqyh01
port: 11211
#docker配置
docker:
hosts:
- host: wxqyh02
- host: wxqyh03
#tomcat部署配置
tomcat:
tomcat-mgr:
hosts:
- host: wxqyh01
http_port: 8060
ajp_port: 8061
shutdown_port: 8062
tomcat-portal:
hosts:
- host: wxqyh01 #第一个实例
http_port: 8070
ajp_port: 8075
shutdown_port: 8076
- host: wxqyh01 #第二个实例,如果单机部署可以去掉以下四行
http_port: 8071
ajp_port: 8077
shutdown_port: 8078
tomcat-schedule:
hosts:
- host: wxqyh01
http_port: 8200
ajp_port: 8201
shutdown_port: 8202
tomcat-open:
hosts:
- host: wxqyh01
http_port: 8210
ajp_port: 8211
shutdown_port: 8212
tomcat-fileweb:
hosts:
- host: wxqyh01
http_port: 8300
ajp_port: 8301
shutdown_port: 8302
#上传文件的目录路径,用来存放文件服务上传的文件
upload_img_root_path: /mnt/img
#合法的请求来源,配置项目域名和ip,多个用逗号隔开
trust_site: www.example.com
#合法的请求ip,填写服务器ip,多个用逗号隔开
white_ips: 192.168.1.165
#微服务部署配置
micro:
addressbook:
hosts:
#第一个实例
- host: wxqyh02
#服务端口
server_port: 8090
#容器名
container_name: addressbook
#第二个实例,如果单机部署可以去掉以下三行
- host: wxqyh03
#服务端口
server_port: 8090
#容器名
container_name: addressbook
api:
hosts:
#第一个实例
- host: wxqyh02
#服务端口
server_port: 8091
#容器名
container_name: api
#第二个实例,如果单机部署可以去掉以下三行
- host: wxqyh03
#服务端口
server_port: 8091
#容器名
container_name: api
appcenter:
hosts:
- host: wxqyh03
#服务端口
server_port: 8092
#容器名
container_name: appcenter
checkwork:
hosts:
- host: wxqyh02
#服务端口
server_port: 8070
#容器名
container_name: checkwork
meet:
hosts:
- host: wxqyh02
#服务端口
server_port: 8072
#容器名
container_name: meet
crm:
hosts:
- host: wxqyh03
#服务端口
server_port: 8073
#容器名
container_name: crm
field:
hosts:
- host: wxqyh02
#服务端口
server_port: 8074
#容器名
container_name: field
form:
hosts:
- host: wxqyh02
#服务端口
server_port: 8075
#容器名
container_name: form
hr:
hosts:
- host: wxqyh02
#服务端口
server_port: 8096
#容器名
container_name: hr
learnonline:
hosts:
- host: wxqyh03
#服务端口
server_port: 8097
#容器名
container_name: learnonline
qwyapi:
hosts:
- host: wxqyh02
#服务端口
server_port: 8098
#容器名
container_name: qwy-api
reimbursement:
hosts:
- host: wxqyh03
#服务端口
server_port: 8099
#容器名
container_name: reimbursement
micro_portal:
hosts:
- host: wxqyh02
#服务端口
server_port: 8100
#容器名
container_name: portal
sys:
hosts:
- host: wxqyh03
#服务端口
server_port: 8101
#容器名
container_name: sys
#web服务器配置
nginx:
hosts:
- host: wxqyh02
- host: wxqyh03
构建 ansible 项目
#注意每次修改配置文件qw_deploy_conf.yml后需要重新执行此步骤再部署
cd /wxqyh/qwy-ansible-autodeploy/
/usr/local/python3/bin/python3 /wxqyh/qwy-ansible-autodeploy/setup.py build
3. 启动部署
cd /wxqyh/qwy-ansible-autodeploy/
/usr/local/python3/bin/python3 /wxqyh/qwy-ansible-autodeploy/setup.py deploy
部署完成后创建es索引,配置nginx转发配置以及静态资源。
创建es索引链接:https://www.tapd.cn/61525196/markdown_wikis/show/#1161525196001011975
修改nginx转发配置:修改对应的tomcat的ip和端口
配置nginx静态资源链接:https://www.tapd.cn/61525196/markdown_wikis/show/#1161525196001012133
应用对接请看https://www.tapd.cn/61525196/markdown_wikis/show/#1161525196001011941
注意事项
1.操作系统:验证系统是centos7.5,由于是离线安装,系统版本过高可能导致rpm包依赖有问题需要手动解决
2.一键部署脚本默认安装全部中间件和应用,二次安装会删除已部署的中间件和应用,如果使用第三方数据库或者redis,或者二次安装不想删除原部署的应用,请执行如下命令跳过无需安装的中间件和应用
vim /wxqyh/qwy-ansible-autodeploy/qw-ansible/site.yml
示例如图
3.nginx应用只涉及部署,转发及静态缓存请自行配置
4.es安装不支持X-pack插件,如需秘钥验证需要自行安装