悟空CRM / 72crm-11.0-Spring部署

悟空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#/ 查看项目状态

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43357497/article/details/110100772