# CRM-SERVER ## 1. 准备环境 在运行系统之前,请确保安装以下必要的工具和环境: | 组件 | 版本 | 安装包 | 安装文档 | | -------- | -------- | -------- | -------- | | Text | Text | Text | Text | ## 2. 运行项目 一、环境安装 前置条件:准备一台4核16G及以上的服务器或者虚拟机 安装java环境 yum -y install java-1.8.0-openjdk-devel; 安装redis环境并设置开机自启 yum -y install epel-release; yum -y install redis; chkconfig redis on; 修改redis密码为123456 yum -y install vim; vim /etc/redis.conf; #-- 在文件最下面追加一行 requirepass 123456 或者输入 / 搜索 #requirepass foobared 将前面的#删除,将foobared改为123456 修改完成之后 :wq 保存并退出,重启redis service redis restart; 安装maven环境 yum -y install maven; 安装mysql8.0数据库 -- 1.由于centOS7中默认安装了MariaDB,需要先进行卸载 rpm -qa | grep -i mariadb rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64 -- 查询下本机mysql是否卸载干净 rpm -qa | grep mysql yum -y install wget; wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm yum -y install mysql80-community-release-el7-3.noarch.rpm yum -y install mysql-community-server --nogpgcheck sudo systemctl start mysqld.service; sudo systemctl enable mysqld.service; #--查看安装的mysql默认密码,如下图所示 grep "password" /var/log/mysqld.log ![查询mysql默认密码](https://images.gitee.com/uploads/images/2021/0207/143052_5000d9e4_8065912.jpeg "查询mysql默认密码") #--进入mysql 例:mysql -u root -p"GXOO%eiI/7o>" mysql - u root -p"此处为上一步的默认密码" #--修改mysql密码,如下图所示 set global validate_password_policy=LOW; ALTER USER 'root'@'localhost' IDENTIFIED BY 'password'; ![修改mysql默认密码](https://images.gitee.com/uploads/images/2021/0207/143854_76cd7719_8065912.jpeg "修改mysql默认密码") #--退出 exit #--修改mysql配置 vim /etc/my.cnf; #--输入 i 进入编辑模式,修改sql_mode设置,如下图所示,将下面sql_mode配置复制,到 [mysqld]下使用 shift+insert 粘贴 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION ![修改mysql配置](https://images.gitee.com/uploads/images/2021/0207/144304_d0d350b6_8065912.jpeg "修改mysql配置") #--修改完毕,按esc按键,然后 :wq 保存并退出,重启mysql service mysqld restart; 安装elasticsearch #-- 在opt目录下安装 cd /opt; #-- 下载elasticsearch6.8.6 wget https://file.72crm.com/static/elasticsearch-6.8.6.zip; #-- 下载analysis-icu-6.8.6分词器插件 wget https://file.72crm.com/static/analysis-icu-6.8.6.zip; #--下载unzip yum -y install unzip #--解压刚才下载的elasticsearch unzip elasticsearch-6.8.6.zip #--将分词器插件解压到elasticsearch/plugins目录下 unzip analysis-icu-6.8.6.zip -d elasticsearch-6.8.6/plugins/analysis-icu-6.8.6; #--创建elasticsearch用户 useradd elasticsearch; #--赋予用户目录权限 chown -R elasticsearch:elasticsearch elasticsearch-6.8.6; #--切换至elasticsearch用户 su elasticsearch #--启动 cd elasticsearch-6.8.6/bin ./elasticsearch -d #--退出elasticsearch用户 exit 下载其他依赖 #--在opt目录下安装 cd /opt; #--下载nacos wget https://github.com/alibaba/nacos/releases/download/2.0.3/nacos-server-2.0.3.tar.gz #--解压nacos到opt目录 tar -zxvf nacos-server-2.0.3.tar.gz ; #--下载seata wget https://github.com/seata/seata/releases/download/v1.4.2/seata-server-1.4.2.tar.gz #--解压seata到opt目录 tar -zxvf seata-server-1.4.2.tar.gz #--下载sentinel wget https://file.72crm.com/static/sentinel-dashboard-1.7.2.jar; #--将sentinel放到指定目录 mkdir /opt/sentinel; mv sentinel-dashboard-1.7.2.jar /opt/sentinel/sentinel.jar; #--删除已解压的zip文件 rm -rf nacos-server-2.0.3.tar.gz ; rm -rf seata-server-1.4.2.tar.gz 上传源码或已经打包好的package #--假设源码文件:wukongcrm上传到/opt木目录下, cd /opt/wukongcrm/ #--打包,第一次打包会比较慢,请耐心等待 mvn clean -Dmaven.test.skip=true package; 可能报错: 可以手动下载 maven-dependency-plugin-3.6.1.pom 文件并将其放置在本地仓库中。从 Maven 中央仓库下载: 下载地址: wget https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/3.6.1/maven-dependency-plugin-3.6.1.pom 将下载的文件放置到本地仓库的对应目录中: mkdir -p /root/.m2/repository/org/apache/maven/plugins/maven-dependency-plugin/3.6.1/ cp maven-dependency-plugin-3.6.1.pom /root/.m2/repository/org/apache/maven/plugins/maven-dependency-plugin/3.6.1/ 之后重新打包 #-- 创建package文件夹 mkdir /opt/package; #--将打包后代码复制到一个目录,方便统一管理 cp admin/target/admin.zip /opt/package; cp authorization/target/authorization.zip /opt/package; cp crm/target/crm.zip /opt/package; cp gateway/target/gateway.zip /opt/package; cp bi/target/bi.zip /opt/package; cp examine/target/examine.zip /opt/package; cp oa/target/oa.zip /opt/package; cp work/target/work.zip /opt/package; cp job/target/job.zip /opt/package; #-- 如果打包好的zip jar 包,直接进行解压 #-- 解压对应文件 cd /opt/package; unzip admin.zip -d admin; unzip authorization.zip -d authorization; unzip crm.zip -d crm; unzip gateway.zip -d gateway; unzip bi.zip -d bi; unzip examine.zip -d examine; unzip oa.zip -d oa; unzip work.zip -d work; unzip job.zip -d job; #-- 导入数据库信息 #-- 进入数据库 mysql -uroot -ppassword 修改配置信息 #-- 创建nacos数据库 create database wk_crm_nacos character set utf8mb4 collate utf8mb4_general_ci; use wk_crm_nacos; source /opt/wukongcrm/DB/wk_crm_nacos.sql; #-- 创建seata数据库 create database seata character set utf8mb4 collate utf8mb4_general_ci; use seata; source /opt/wukongcrm/DB/seata.sql; #-- 创建xxl_job数据库 create database xxl_job character set utf8mb4 collate utf8mb4_general_ci; use xxl_job; source /opt/wukongcrm/DB/xxl_job.sql; #-- 创建crm数据库 create database wk_crm_table character set utf8mb4 collate utf8mb4_general_ci; use wk_crm_table ; source /opt/wukongcrm/DB/wk_crm_table.sql; #-- 退出数据库 exit; #-- 修改nacos持久化到DB cd /opt/nacos/conf; vim application.properties; #-- 按 i 进入编辑模式,将 以下配置文件取消注释,如下图所示 #-- spring.datasource.platform db.num db.url.0 db.user db.password ![输入图片说明] (https://images.gitee.com/uploads/images/2021/0510/150022_fc5d41e5_8065912.png "edit_nacos.png") ###### #-- 修改完成之后 :wq 保存并退出 #-- 启动nacos cd /opt/nacos/bin sh startup.sh -m standalone #-- 配置seata持久化到nacos cd /opt/seata/conf/; vim registry.conf; #-- 按 i 进入编辑模块,将registry{} 和 config{}下的type="file" 改为 type="nacos" #-- 修改完成之后 :wq 保存并退出,然后启动seata服务 cd /opt/seata/bin; nohup sh seata-server.sh > log.out 2>&1 & #-- 启动sentinel cd /opt/sentinel; nohup java -Xms128m -Xmx512m -Dserver.port=8079 -Dproject.name=sentinel-dashboard -jar sentinel.jar & #-- 下载xxl-job 2.1.2版本 cd /opt git clone -b 2.1.2 https://gitee.com/xuxueli0323/xxl-job.git cd xxl-job; 修改xxl-job的配置文件 vim xxl-job-admin/src/main/resources/application.properties #-- 按 i 进入编辑模块,将server.port改为7070 #-- 修改spring.datasource.url,spring.datasource.username,spring.datasource.password参数,如下图所示 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0510/162025_3ffb9cfb_8065912.png "edit_xxl_job.png") #-- 修改完成之后 :wq 保存并退出,执行打包流程 mvn clean -Dmaven.test.skip=true package; #-- 启动xxl-job-admin mkdir /opt/xxl-job-admin; cp xxl-job-admin/target/xxl-job-admin-2.1.2.jar /opt/xxl-job-admin cd /opt/xxl-job-admin/ nohup java -Xms128m -Xmx512m -jar xxl-job-admin-2.1.2.jar> log.out 2>&1 & 启动项目 cd /opt/package/admin/ && sh 72crm.sh start; cd /opt/package/authorization/ && sh 72crm.sh start; cd /opt/package/crm/ && sh 72crm.sh start; cd /opt/package/gateway/ && sh 72crm.sh start; cd /opt/package/bi/ && sh 72crm.sh start; cd /opt/package/examine/ && sh 72crm.sh start; cd /opt/package/oa/ && sh 72crm.sh start; cd /opt/package/work/ && sh 72crm.sh start; cd /opt/package/job/ && sh 72crm.sh start; #-- 项目启动完成 注意事项 #-- 启动命令可以写成sh脚本,方便下次重启 #-- 项目对应模块的解压,打包,运行可以搞成批处理脚本 #-- 72crm项目启动失败,错误日志在/opt/package/对应模块/logs下面 #-- 如更改前端文件,需替换前端文件,在前端打包完成后,将打包生成的dist文件夹放到gateway模块下,重命名为public #-- cd 前端文件目录 #-- rm -rf /opt/package/gateway/public #-- cp -R dist /opt/package/gateway/public