目录
-
- 悟空CRM部署
- 悟空CRM目录结构
- 悟空CRM使用的主要技术栈
- 使用说明
-
- 一、前置环境
- 二、JDK1.8 Maven3.5安装
- 三、安装Mysql数据库
- 四、安装Elasticsearch 6.8.6
- 五、安装Redis
- 六、Nacos安装
- 七、Seata安装
- 八、Sentinel安装
- 九、项目打包
-
- 1. 导入初始化sql,目前项目下gateway模块使用的独立数据库,其他模块使用同一数据库
- 2.在项目根目录执行mvn install
- 3.在各个模块下resource目录配置数据库帐号信息以及redis帐号信息(默认使用的是`application-dev.yml`配置文件,打包后启动脚本默认使用的`application-test.yml`配置文件)
- 4.在`crm\src\main\resources\application-dev.yml`里面修改elasticsearch配置
- 5.(可选)项目日志文件在`core\src\main\resources\logback-spring.xml`修改
- 6. 项目再打包部署clean -Dmaven.test.skip=true package
- 7. 项目启动
- 十、浏览器访问
悟空CRM部署
下载代码
安装git 克隆代码
yum -y install git
https://gitee.com/wukongcrm/crm_pro.git
悟空CRM目录结构
wk_crm
├── admin -- 系统管理模块和用户管理模块
├── authorization -- 鉴权模块,目前仅用于登录鉴权,后期可能有更改
├── bi -- 商业智能模块
├── core -- 通用的代码和工具类
├── crm -- 客户管理模块
├── gateway -- 网关模块
├── job -- 定时任务模块
├── oa -- OA模块
└── work -- 项目管理模块
悟空CRM使用的主要技术栈
名称 | 版本 | 说明 | 端口 |
---|---|---|---|
spring-cloud-alibaba | 2.2.1.RELEASE(Hoxton.SR3) | 核心框架 | |
swagger | 2.9.2 | 接口文档 | |
sentinel | 2.2.1.RELEASE | 断路器以及限流 | 8079 |
nacos | 1.2.1.RELEASE | 注册中心以及分布式配置管理 | 8848 |
seata | 1.2.0 | 分布式事务 | 8091 |
elasticsearch | 2.2.5.RELEASE(6.8.6) | 搜索引擎中间件 | 9200,9300 |
xxl-job | 2.1.2 | 分布式定时任务框架 | |
gateway | 2.2.2.RELEASE | 微服务网关 |
使用说明
一、前置环境
-
Jdk1.8
-
Maven3.5.0+ 打包
-
Mysql5.7.20 (数据库安装注意事项)
-
Redis(版本不限)
-
Elasticsearch 6.8.6 (环境配置注意事项)
-
Seata(1.2.0)(配置说明)
-
Sentinel(1.7.2)(项目中sentinel使用8079端口)
-
Nacos(1.2.1)
cpu 内存 硬盘 系统 8核 32G 100GB Centos7.6 mkdir /application #程序路径
二、JDK1.8 Maven3.5安装
JDK安装
#JDK1.8 https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html#license-lightbox //需要输入oracel用户名密码 #设置环境变量 cat >>/etc/profile <<-EOF export JAVA_HOME=/application/jdk1.8.0_271 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH EOF source etc/profile #测试 java -version
Maven3.5安装
yum -y install maven-3.0.5-17.el7.noarch
三、安装Mysql数据库
1.安装略
**2. 修改group by报错 **
vi /etc/my.cnf [mysqld] sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
3. 创建数据库
MySQL [nacos]> create database nacos; MySQL [nacos]> create database seata; MySQL [nacos]> create database wk_crm_single; MySQL [nacos]> create database xxl_job; MySQL [nacos]> grant all on *.* to crm@'%' identified by '123.com.cn'
四、安装Elasticsearch 6.8.6
涉及端口 9200,9300
下载地址 https://mirrors.huaweicloud.com/elasticsearch/
#解压 cd /application tar -zxvf Elasticsearch 6.8.6.tar.gz #修改内存 cd elasticsearch-6.8.6/config vi jvm.options里-Xms512M 和 -Xmx512M #安装插件 mkdir /application/elasticsearch-6.8.6/plugins/analysis-icu cd !$ wget https://file.72crm.com/project/analysis-icu-6.8.6.zip unzip analysis-icu-6.8.6.zip #创建ES的用户与组和权限 groupadd es useradd esuser -g es -p elasticsearch chown -R esuser:es /application/elasticsearch-6.8.6 #运行 (需要使用程序用户启动,后台运行) sudo -u esuser /bin/bash -c "source /etc/profile && /bin/bash /application/elasticsearch-6.8.6/bin/elasticsearch -d"
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AHvqpurE-1606231559997)(F:\Linux\老男孩文档\image\1606122386251.png)]
五、安装Redis
yum -y install redis sed -ri '48arequirepass \"123456\"' /etc/redis.conf systemctl start redis && systemctl enable redis redis 127.0.0.1:6379> AUTH 123456
六、Nacos安装
涉及端口 8848
#下载解压 cd /application wget https://github.com/alibaba/nacos/releases/download/1.3.2/nacos-server-1.3.2.tar.gz unzip nacos-server-1.3.2.tar.gz #目录结构 nacos/ ├── bin │ ├── shutdown.cmd │ ├── shutdown.sh │ ├── startup.cmd │ └── startup.sh //启动文件 ├── conf │ ├── application.properties │ ├── application.properties.example │ ├── cluster.conf.example │ ├── nacos-logback.xml │ ├── nacos-mysql.sql //数据文件 需要导入 │ └── schema.sql ├── LICENSE ├── NOTICE └── target └── nacos-server.jar #初始化数据库 将 nacos-mysql.sql导到nacos数据库中 mysql -ucrm -p123.com.cn nacos < nacos/config/nacos-mysql.sql
#修改配置文件
vi application.properties
spring.datasource.platform=mysql ### Count of DB: db.num=1 ### Connect URL of DB: db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user=crm db.password=123.com.cn
启动nacos
startup.sh -m standalone
浏览器访问http://ip:8848/nacos
七、Seata安装
涉及端口8091
#下载并解压 cd /tools wget https://github.com/seata/seata/releases/download/v1.3.0/seata-server-1.3.0.zip unzip seata-server-1.3.0.zip mv seata /application/
下载nacos配置文件进行注册
https://github.com/seata/seata/tree/develop/script/config-center 只下载nacos、config.txt并修改 上传到/application/seate中 #执行导入脚本 cd /application/seata/nacos/ ./nacos-config.sh
查看nacos,如图说明注册成功
**修改registry.conf配置为nacos **
cat > /application/seata/conf/registry.conf <<-EOF registry { # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa type = "nacos" nacos { application = "seata-server" serverAddr = "127.0.0.1:8848" namespace = "public" cluster = "default" username = "nacos" password = "nacos" } } config { # file、nacos 、apollo、zk、consul、etcd3 type = "nacos" nacos { serverAddr = "127.0.0.1:8848" namespace = "public" group = "SEATA_GROUP" username = "nacos" password = "nacos" } } EOF
启动seate
./bin/seata-server.sh
八、Sentinel安装
涉及端口 8079
1.下载解压 cd /tools wget https://github.com/alibaba/Sentinel/releases/download/v1.8.0/sentinel-dashboard-1.8.0.jar mkdir /application/sentinel && cp sentinel-dashboard-1.8.0.jar /application/sentinel/ cd /application/sentinel && unzip sentinel-dashboard-1.8.0.jar 2.启动 nohup java -Dserver.port=8079 -Dcsp.sentinel.dashboard.server=localhost:8079 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.0.jar &
浏览器访问http://ip:8079 默认用户名密码 sentinel\sentinel
九、项目打包
1. 导入初始化sql,目前项目下gateway模块使用的独立数据库,其他模块使用同一数据库
创建数据库
MySQL [nacos]> create database nacos; MySQL [nacos]> create database seata; MySQL [nacos]> create database wk_crm_single; MySQL [nacos]> create database xxl_job; 为了方便这里我就直接使用root用户 MySQL [nacos]> grant all on *.* to crm@'%' identified by '123.com.cn' **4.导入数据**
导入数据
#1.进入代码DB文件夹 cd /crm_pro/DB && ll -rw-r--r-- 1 root root 4636 11月 9 17:48 config_info_route.sql -rw-r--r-- 1 root root 1975 11月 9 17:48 seata.sql -rw-r--r-- 1 root root 560747 11月 9 17:48 wk_crm_single.sql -rw-r--r-- 1 root root 10983 11月 9 17:48 xxl_job.sql #2.导入数据库 mysql -u crm -p123.com.cn nacos < config_info_route.sql mysql -u crm -p123.com.cn seata < seata.sql mysql -u crm -p123.com.cn wk_crm_single < wk_crm_single.sql mysql -u crm -p123.com.cn xxl_job < xxl_job.sql
2.在项目根目录执行mvn install
3.在各个模块下resource目录配置数据库帐号信息以及redis帐号信息(默认使用的是
application-dev.yml
配置文件,打包后启动脚本默认使用的application-test.yml
配置文件)[root@nginx_proxy_02 crm_pro]# find ./ -name application-test.yml | grep "res" ./admin/src/main/resources/application-test.yml ./authorization/src/main/resources/application-test.yml ./bi/src/main/resources/application-test.yml ./crm/src/main/resources/application-test.yml ./job/src/main/resources/application-test.yml ./oa/src/main/resources/application-test.yml ./work/src/main/resources/application-test.yml ./gateway/src/main/resources/application-dev.yml
4.在
crm\src\main\resources\application-dev.yml
里面修改elasticsearch配置spring.elasticsearch.rest.uris = elasticsearch地址 例:127.0.0.1:9200 spring.elasticsearch.rest.username = elasticsearch用户名 例:elastic 无密码可留空 spring.elasticsearch.rest.password = elasticsearch密码 例: password 无密码可留空
5.(可选)项目日志文件在
core\src\main\resources\logback-spring.xml
修改6. 项目再打包部署clean -Dmaven.test.skip=true package
mvn clean -Dmaven.test.skip=true package ·然后把对应模块下target文件夹下 ·${name}-${version}-SNAPSHOT.zip/tar.gz上传到服务器,例:admin-0.0.1-SNAPSHOT.zip 并将压缩文件解压,检查对应配置文件。 cd /crm_pro cp ./admin/target/wk_admin.tar.gz /application/wk_crm/wk_admin/ cp ./authorization/target/wk_authorization.tar.gz /application/wk_crm/wk_authorization/ cp ./bi/target/wk_bi.tar.gz /application/wk_crm/wk_bi/ cp ./crm/target/wk_crm.tar.gz /application/wk_crm/wk_crm/ cp ./gateway/target/wk_gateway.tar.gz /application/wk_crm/wk_gateway/ cp ./job/target/wk_job.tar.gz /application/wk_crm/wk_job/ cp ./oa/target/wk_oa.tar.gz /application/wk_crm/wk_oa/ cp ./work/target/wk_work.tar.gz /application/wk_crm/wk_work/
7. 项目启动
cd /application/wk_crm export DIR=/application/wk_crm/ cd ${DIR}wk_authorization/ && ./72crm.sh start cd ${DIR}wk_admin/ && ./72crm.sh start && cd .. cd ${DIR}wk_bi/ && ./72crm.sh start && cd .. cd ${DIR}wk_crm/ && ./72crm.sh start && cd .. cd ${DIR}wk_gataeway/ && ./72crm.sh start && cd .. cd ${DIR}wk_job/ && ./72crm.sh start && cd .. cd ${DIR}wk_oa/ && ./72crm.sh start && cd .. cd ${DIR}wk_work/ && ./72crm.sh start && cd .. 先启动nacos,seata,sentinel, elasticsearch,mysql,redis等基础服务 在第八步解压的文件模块下通过执行`sh 72crm.sh start`(windows下直接运行72crm.bat)启动各个模块服务。 其中项目基础模块:gateway,authorization,admin必须启动,其他模块可按需启动。 启动完成后,在浏览器中访问:http://localhost:8443/即可登录系统
十、浏览器访问
首次访问crm进行注册 访问http://IP:8443
访问 swagger http://IP:8443/swagger-ui.html?urls.primaryName=crm#/ 查看项目状态