前言

悟空CRM作为目前国内比较成熟的CRM系统,使用的公司众多,而且开放了开源版本,所以打算为公司部署一套,看看是否能满足公司的使用需求。

搜索资料过程中,逐渐了解到,旧版本的开源docker镜像虽然安装比较简单,但是系统功能相对较少。体验了新版的系统后,果断着手查找新版系统的安装方式,期间诸多坎坷、、、

由于我是由java出身,所以选择安装spring版本的新版源码。新版悟空CRM由以前的单体jfinal项目,转成了目前11.0版本的分布式微服务,所以安装过程一波三折,了解之后发现其实也很简单、、、找到日志,基本就能搞定所有问题。

一、安装Docker

1、自动安装

curl -sSL https://get.daocloud.io/docker | sh

 如果报错:Cannot find a valid baseurl for repo: ius/x86_64

参考我的另一篇文章 Docker安装CentOS容器并使用SSH工具远程连接 更换yum源。

 2、启动服务

service docker start

二、安装git

1、安装git命令

yum install -y git

2、拉取悟空CRM开源源码

git clone https://gitee.com/wukongcrm/crm_pro.git

 三、安装CRM容器

1、源码目录

通过git拉取源码后,进入源码目录,可以看到以下目录结构

  目录简要说明:

crm_pro
   ├── 72crm.bat         -- 微服务jar包windows平台启动脚本
   ├── 72crm.sh          -- 微服务jar包linux平台启动脚本
   ├── DB                -- CRM数据库脚本
   ├── admin             -- 系统管理模块和用户管理模块源码
   ├── authorization     -- 鉴权模块源码
   ├── bi                -- 商业智能模块源码
   ├── core              -- 通用的代码和工具类源码
   ├── crm               -- 客户管理模块   源码
   ├── docker            -- docker容器创建脚本
   ├── examine           -- 审批模块源码
   ├── gateway           -- 网关模块源码    
   ├── hrm               -- 人力资源管理模块源码
   ├── job               -- 定时任务模块源码
   ├── oa                -- OA模块源码
   └── work              -- 项目管理模块源码

2、安装部署

(1) 添加执行权限

cd docker/
chmod +x docker-install.sh

 (2) 安装docker服务

./docker-install.sh

 (3) 启动容器

chmod +x start.sh
./start.sh

 网速不好的话,需要等待很长时间

(4) 查看容器是否启动

docker ps

(5) 检查数据库是否完整

 通过 docker exec 命令进入mysql容器,检查数据库是否都已创建完整。

docker exec -it -u root 13378ef4fcac /bin/bash

通过mysql命令连接数据库(root用户默认密码:password)

mysql -u root -p

 与git拉取的源码目录中DB目录内的sql文件做比对,检查数据库是否都已创建

 数据库是默认开启远程连接的,如果需要远程连接数据库,需要防火墙开放端口或关闭防火墙

检查防火墙状态:

systemctl status firewalld

 关闭防火墙:

systemctl stop firewalld

 通过navicat连接数据库

 如果在执行start.sh过程中有过报错,建议将所有数据库重新导入,因为有可能因为报错导致丢表。

 (6) 检查微服务是否正常启动

宿主机通过docker exec命令进入crm微服务容器wkcrm

docker exec -it -u root 3ae5323d409e /bin/bash

 找到服务存放目录 /opt/package 

cd /opt/package/

除了logs日志目录,其余每个文件夹都代表一个服务。任意进入一个服务的目录。

 

可以看到,每个服务的目录里都包含一个72crm.sh服务启动文件,config 配置文件目录,lib 依赖包目录,output.log 日志文件,以及服务的 jar 包。

通过 ps 命令查看 java 进程,判断10个服务是否全部启动。

 可以看到,我这里只启动了5个服务,这时我们可以找到未启动服务目录里的output.log日志文件,查看启动失败的原因。

tail -n 500 output.log

 可以看到,是因为 nacos 注册失败导致的服务启动失败

(7) 重启docker服务

上面讲这么多,其实是告诉大家出了问题应该去哪找原因。

上面微服务启动不全,这时最好的方法,直接重启宿主机的 docker 服务。这是因为容器启动是有顺序的,就像微服务如果需要启动,nacos就必须先启动一样,但是首次执行start.sh安装启动容器过程中好像是有问题的,我装过好几遍,首次安装启动都无法成功启动所有服务。

service docker restart

 这时候使用 docker exec 命令进入wkcrm容器,查看微服务是否全部启动。

docker exec -it -u root 3ae5323d409e /bin/bash
ps -ef|grep java

 可以看到,所有服务都已启动。可以通过ip地址进行访问啦。

(8) 如何访问

进入 nginx 容器,通过配置文件查看服务访问方式

docker exec -it -u root 34a3c78184b3 /bin/bash
cat /etc/nginx/conf.d/wkcrm.conf

 通过配置文件可以看到一共能够访问三个系统:

CRM:http://服务器IP

Nacos:http://服务器IP/nacos

任务调度中心:http://服务器IP/xxl-job-admin

四、浏览器访问

1、访问CRM

浏览器直接访问IP地址:http://192.168.1.34/

 序列号去悟空CRM官网注册账号,进入个人中心,找到以下截图点击生成。

 2、访问Nacos

浏览器访问地址:http://192.168.1.34/nacos

 默认帐号:nacos,默认密码:nacos

 一共11个服务注册

3、访问任务调度中心

浏览器访问:http://192.168.1.34/xxl-job-admin

默认帐号:admin    默认密码:123456 


总结

以上就是整理的悟空CRM部署过程,一开始觉得很复杂麻烦,明白了过程之后,就感觉不难了。本教程主要向大家讲解一些细节,以免大家像我第一次安装时的一脸蒙逼还查不到资料。

这里借鉴了大佬的安装教程,同时加上自己的一些解释说明:

感谢【linux】Centos 8 安装 悟空CRM-11.0_JohelLiang的博客-CSDN博客_悟空crm11安装

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐