一、环境安装
前置条件:准备一台4核16G及以上的服务器或者虚拟机
服务器推荐:
阿里云
https://www.aliyun.com/minisite/goods?userCode=f2dsq2bc
腾讯云
https://cloud.tencent.com/act/pro/2024spring?from=21954&cps_key=bd5e36f1fd7ae0e8a60edf54a23da65e
安装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环境
安装mysql5.7数据库
#--进入mysql 例:mysql -u root -pGXOO%eiI/7o> mysql - u root -p"此处为上一步的默认密码"
#--修改mysql密码,这里设置成了password,如下图所示 set global validate_password_policy=LOW; ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
|
#--退出 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
|
编辑
#--修改完毕,按esc按键,然后 :wq 保存并退出,重启mysql service mysqld restart;
|
安装elasticsearch
下载其他依赖
下载悟空CRM源码
修改配置信息
#-- 创建nacos数据库 create database nacos character set utf8mb4 collate utf8mb4_general_ci; use nacos; source /opt/crm_pro/DB/nacos.sql;
#-- 创建seata数据库 create database seata character set utf8mb4 collate utf8mb4_general_ci; use seata; source /opt/crm_pro/DB/seata.sql;
#-- 创建xxl_job数据库 create database xxl_job character set utf8mb4 collate utf8mb4_general_ci; use xxl_job; source /opt/crm_pro/DB/xxl_job.sql;
#-- 创建crm数据库 create database wk_crm_single character set utf8mb4 collate utf8mb4_general_ci; use wk_crm_single ; source /opt/crm_pro/DB/wk_crm_single.sql;
#-- 创建hrm数据库 create database wk_hrm_single character set utf8mb4 collate utf8mb4_general_ci; use wk_hrm_single ; source /opt/crm_pro/DB/wk_hrm_single.sql;
#-- 退出数据库 exit;
#-- 修改nacos持久化到DB
cd /opt/nacos/conf; vim application.properties; #-- 按 i 进入编辑模式,将 以下配置文件取消注释,如下图所示 #-- spring.datasource.platform db.num db.url.0 db.user db.password |
编辑
#-- 修改完成之后 :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参数,如下图所示
|
#-- 修改完成之后 :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; cd /opt/package/hrm/ && 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
|
NGINX配置
#--安装nginx yum install -y nginx #--验证nginx安装是否成功 nginx -V #--创建CRM的配置 vi /etc/nginx/conf.d/crm.conf #--将下面配置复制,并修改www.yourdomain.com为真实域名 #-- 修改完成之后 :wq 保存并退出 #检测配置文件语法是否正确 nginx -t #重新加载Nginx配置 nginx -s reload
|
Nginx server { listen 80; server_name www.yourdomain.com; client_max_body_size 100M; location / { proxy_set_header HOST $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8443/; } location /nacos/ { proxy_set_header HOST $host; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_connect_timeout 60; proxy_send_timeout 120; proxy_read_timeout 120; proxy_pass http://127.0.0.1:8848/nacos/; } location /xxl-job-admin/ { proxy_set_header HOST $host; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_connect_timeout 60; proxy_send_timeout 120; proxy_read_timeout 120; proxy_pass http://127.0.0.1:7070/xxl-job-admin/; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } |
注意:Nginx 默认的 client_max_body_size 配置大小为 1m,所以此示例配置文件加上了 client_max_body_size 1024m; 这行配置。当然,100M 可根据你的需要自行修改。
server_name 对应是域名,需要将"www.yourdomain.com" 换成自己的真实域名
常见问题
1.文件上传报错
查看admin 模块日志,根据提示创建对应的Spring Boot的临时文件目录 |
评论区