前置条件

下载svn物料包到服务器

目录要求

服务器目录名 说明 svn物料包地址
/wxqyh/service 应用服务tomcat https://svn.do1.com.cn:7070/svn/2019%E4%BC%81%E5%BE%AE%E9%A1%B9%E7%9B%AE%E7%A7%81%E6%9C%89%E5%8C%96%E9%83%A8%E7%BD%B2/%e9%83%a8%e7%bd%b2%e5%8c%85/privatization_3.1.1/tomcat/
/wxqyh/soft 组件安装包的存放路径 https://svn.do1.com.cn:7070/svn/2019%E4%BC%81%E5%BE%AE%E9%A1%B9%E7%9B%AE%E7%A7%81%E6%9C%89%E5%8C%96%E9%83%A8%E7%BD%B2/%e9%83%a8%e7%bd%b2%e5%8c%85/ansible-soft/
/wxqyh/docker-images 存放微服务镜像 https://svn.do1.com.cn:7070/svn/2019%E4%BC%81%E5%BE%AE%E9%A1%B9%E7%9B%AE%E7%A7%81%E6%9C%89%E5%8C%96%E9%83%A8%E7%BD%B2/%e9%83%a8%e7%bd%b2%e5%8c%85/ansible-images/3.1.1/

请提前申请集群版的license文件并将申请的license文件放到/wxqyh/目录下,文件名字为verifyinfo,如果license文件有问题部署后tomcat会启动失败
/wxqyh/目录结构如下图
image.png

安装环境

1.添加服务器信息
  1. #参照格式添加服务器账号密码配置
  2. vim /wxqyh/soft/init_keys.py

image.png

  1. ##### 2.执行初始化脚本
  2. sh /wxqyh/soft/init.sh

部署

1. 修改/wxqyh/qwy-ansible-autodeploy目录下的配置文件qw_deploy_conf.yml

根据提示填写具体的部署主机、部署组件配置参数,需要改的地方主要有主机、端口还有密码配置等,注意同一台机器的端口不要相同
定义好服务器列表后,后面的host参数代表需要安装的主机

  1. # 企微产品标准版 - 自动部署配置
  2. # 云办公版本
  3. qw_app_version: 3.1.0
  4. # 部署环境名称
  5. env-name: sample-poc
  6. # 部署物料路径(绝对路径)
  7. wxqyh-resource-path: /wxqyh
  8. #license配置,ip使用服务端的内网ip,服务端会监听8080端口,请注意端口冲突
  9. license_ip: 127.0.0.1
  10. license_port: 30000
  11. # 部署环境 host ip 列表
  12. host-info:
  13. - hostname: wxqyh01
  14. ip: 192.168.72.100
  15. - hostname: wxqyh02
  16. ip: 192.168.72.101
  17. - hostname: wxqyh03
  18. ip: 192.168.72.102
  19. # jdk 配置,安装tomcat,activemq,es的机器都要配置
  20. jdk:
  21. hosts:
  22. - host: wxqyh01
  23. - host: wxqyh02
  24. - host: wxqyh03
  25. # activemq 配置
  26. activemq:
  27. host: wxqyh01
  28. port: 61616
  29. # activemq admin 账户账号密码
  30. admin-username: admin
  31. admin-password: admin123
  32. # activemq user 账户账号密码
  33. user-username: do1
  34. user-password: do123
  35. # redis 配置
  36. redis:
  37. host: wxqyh01
  38. port: 6379
  39. # redis的密码
  40. password: 1111a
  41. # elasticsearch 配置
  42. elasticsearch:
  43. hosts:
  44. - host: wxqyh01
  45. - host: wxqyh02
  46. - host: wxqyh03
  47. port: 9200
  48. # 部署es的数量 单机填1 集群填3
  49. es_cluster_num: 3
  50. # 最大内存
  51. Xmx: 2g
  52. # 最小内存
  53. Xms: 2g
  54. # mysql 配置
  55. mysql:
  56. host: wxqyh01
  57. # 数据库端口
  58. mysql_port: 3306
  59. # 数据库库名
  60. database_name: wxqyh
  61. # 数据库用户名
  62. username: root
  63. # 数据库密码
  64. password: do1admin
  65. # 微服务注册中心discovery 配置
  66. discovery:
  67. hosts:
  68. - host: wxqyh02
  69. port: 8761
  70. - host: wxqyh03
  71. port: 8761
  72. # 是否集群部署 集群填1 单机填0
  73. cluster: 1
  74. # 注册中心地址配置
  75. eureka_url: http://192.168.72.101:8761/eureka,http://192.168.72.102:8761/eureka
  76. # memcached 配置
  77. memcached:
  78. host: wxqyh01
  79. port: 11211
  80. #docker配置
  81. docker:
  82. hosts:
  83. - host: wxqyh02
  84. - host: wxqyh03
  85. #tomcat部署配置
  86. tomcat:
  87. tomcat-mgr:
  88. hosts:
  89. - host: wxqyh01
  90. http_port: 8060
  91. ajp_port: 8061
  92. shutdown_port: 8062
  93. tomcat-portal:
  94. hosts:
  95. - host: wxqyh01 #第一个实例
  96. http_port: 8070
  97. ajp_port: 8075
  98. shutdown_port: 8076
  99. - host: wxqyh01 #第二个实例,如果单机部署可以去掉以下四行
  100. http_port: 8071
  101. ajp_port: 8077
  102. shutdown_port: 8078
  103. tomcat-schedule:
  104. hosts:
  105. - host: wxqyh01
  106. http_port: 8200
  107. ajp_port: 8201
  108. shutdown_port: 8202
  109. tomcat-open:
  110. hosts:
  111. - host: wxqyh01
  112. http_port: 8210
  113. ajp_port: 8211
  114. shutdown_port: 8212
  115. tomcat-fileweb:
  116. hosts:
  117. - host: wxqyh01
  118. http_port: 8300
  119. ajp_port: 8301
  120. shutdown_port: 8302
  121. #上传文件的目录路径,用来存放文件服务上传的文件
  122. upload_img_root_path: /mnt/img
  123. #合法的请求来源,配置项目域名和ip,多个用逗号隔开
  124. trust_site: www.example.com
  125. #合法的请求ip,填写服务器ip,多个用逗号隔开
  126. white_ips: 192.168.1.165
  127. #微服务部署配置
  128. micro:
  129. addressbook:
  130. hosts:
  131. #第一个实例
  132. - host: wxqyh02
  133. #服务端口
  134. server_port: 8090
  135. #容器名
  136. container_name: addressbook
  137. #第二个实例,如果单机部署可以去掉以下三行
  138. - host: wxqyh03
  139. #服务端口
  140. server_port: 8090
  141. #容器名
  142. container_name: addressbook
  143. api:
  144. hosts:
  145. #第一个实例
  146. - host: wxqyh02
  147. #服务端口
  148. server_port: 8091
  149. #容器名
  150. container_name: api
  151. #第二个实例,如果单机部署可以去掉以下三行
  152. - host: wxqyh03
  153. #服务端口
  154. server_port: 8091
  155. #容器名
  156. container_name: api
  157. appcenter:
  158. hosts:
  159. - host: wxqyh03
  160. #服务端口
  161. server_port: 8092
  162. #容器名
  163. container_name: appcenter
  164. checkwork:
  165. hosts:
  166. - host: wxqyh02
  167. #服务端口
  168. server_port: 8070
  169. #容器名
  170. container_name: checkwork
  171. meet:
  172. hosts:
  173. - host: wxqyh02
  174. #服务端口
  175. server_port: 8072
  176. #容器名
  177. container_name: meet
  178. crm:
  179. hosts:
  180. - host: wxqyh03
  181. #服务端口
  182. server_port: 8073
  183. #容器名
  184. container_name: crm
  185. field:
  186. hosts:
  187. - host: wxqyh02
  188. #服务端口
  189. server_port: 8074
  190. #容器名
  191. container_name: field
  192. form:
  193. hosts:
  194. - host: wxqyh02
  195. #服务端口
  196. server_port: 8075
  197. #容器名
  198. container_name: form
  199. hr:
  200. hosts:
  201. - host: wxqyh02
  202. #服务端口
  203. server_port: 8096
  204. #容器名
  205. container_name: hr
  206. learnonline:
  207. hosts:
  208. - host: wxqyh03
  209. #服务端口
  210. server_port: 8097
  211. #容器名
  212. container_name: learnonline
  213. qwyapi:
  214. hosts:
  215. - host: wxqyh02
  216. #服务端口
  217. server_port: 8098
  218. #容器名
  219. container_name: qwy-api
  220. reimbursement:
  221. hosts:
  222. - host: wxqyh03
  223. #服务端口
  224. server_port: 8099
  225. #容器名
  226. container_name: reimbursement
  227. micro_portal:
  228. hosts:
  229. - host: wxqyh02
  230. #服务端口
  231. server_port: 8100
  232. #容器名
  233. container_name: portal
  234. sys:
  235. hosts:
  236. - host: wxqyh03
  237. #服务端口
  238. server_port: 8101
  239. #容器名
  240. container_name: sys
  241. #web服务器配置
  242. nginx:
  243. hosts:
  244. - host: wxqyh02
  245. - host: wxqyh03

构建 ansible 项目

  1. #注意每次修改配置文件qw_deploy_conf.yml后需要重新执行此步骤再部署
  2. cd /wxqyh/qwy-ansible-autodeploy/
  3. /usr/local/python3/bin/python3 /wxqyh/qwy-ansible-autodeploy/setup.py build

3. 启动部署

  1. cd /wxqyh/qwy-ansible-autodeploy/
  2. /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和端口
image.png
配置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
示例如图
image.png
3.nginx应用只涉及部署,转发及静态缓存请自行配置
4.es安装不支持X-pack插件,如需秘钥验证需要自行安装