参考文档:
https://www.yuque.com/linkwechat/help/gt1myw 部署文档
https://gitee.com/LinkWeChat/link-wechat 后端
https://gitee.com/LinkWeChat/link-we-chat-front 前端
环境准备---中间件
JDK、Mysql、Redis、Nginx、Nacos、Node.js、xxl-job、rabbitMQ
小编这里有些中间件直接yum安装了
备份现有的repo文件
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/
使用阿里云源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
清理缓存并更新
yum clean all
yum makecache
安装jdk1.8
yum install -y java-1.8.0-openjdk-devel
#验证安装
java -version
安装 MySQL
rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum install -y mysql-community-server
#安装mysql5.7以上版本需要在配置文件加上sql_mode,不配置日志后续会出现报错
vim /etc/my.cnf
[mysqld]
.....
sql_mode =STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
# 启动 MySQL 并设置为开机自启
systemctl start mysqld
systemctl enable mysqld
# 获取初始密码
grep 'temporary password' /var/log/mysqld.log
更改mysql的root密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';
安装 Redis
yum install -y epel-release
yum install -y redis
# 启动 Redis 并设置为开机自启
systemctl start redis
systemctl enable redis
修改redis密码
vim /etc/redis.conf
#requirepass foobared
requirepass password
#官方给的配置是1台服务器,所以这里小编bind配置是默认的,后续nacos配置redis的ip也同样配置127.0.0.1即可
bind 127.0.0.1
登录验证密码是否设置成功
1. 启动:
/bin/redis-server /etc/redis.conf &
2. 进入客户端:
/bin/redis-cli
3. 输入config get requirepass验证
4. 出现“(error) NOAUTH Authentication required.证明设置密码成功!
5. 输入密码:
auth password 得到ok
6. 再次输入config get requirepass验证,即可看到自己设置的密码,password就是密码
1) "requirepass"
2) "password"
安装nginx
tee /etc/yum.repos.d/nginx.repo <<-'EOF'
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF
yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
安装 Nacos
#需要科学上网下载包,直接上传服务器即可
wget https://github.com/alibaba/nacos/releases/download/1.4.2/nacos-server-1.4.2.tar.gz
tar -zxvf nacos-server-1.4.2.tar.gz -C /opt/
cd /opt/nacos/bin
sh startup.sh -m standalone
安装 Node.js
(centos7的操作系统底层库包glibc不兼容16以上版本,所以最后安装的node14,若要安装18需要centos8系统)
wget https://nodejs.org/dist/v14.15.4/node-v14.15.4-linux-x64.tar.xz
tar -xJf node-v14.15.4-linux-x64.tar.xz
mkdir -p /usr/local/nodejs
mv node-v14.15.4-linux-x64/* /usr/local/nodejs/
echo 'export NODE_HOME=/usr/local/nodejs' >> /etc/profile
echo 'export PATH=$PATH:$MAVEN_HOME/bin:$NODE_HOME/bin' >> /etc/profile
echo 'export MAVEN_HOME=/data/maven3.8' >> /etc/profile
# 验证安装
node -v
npm -v
安装 XXL-Job
#需要科学上网下载包,直接上传服务器即可
wget https://github.com/xuxueli/xxl-job/archive/refs/tags/2.4.1.tar.gz
tar -zxvf xxl-job-2.4.1.tar.gz -C /opt/
cd /opt/xxl-job-xxl-job-2.4.1/xxl-job-admin
mvn clean install
java -jar target/xxl-job-admin-2.4.1.jar
安装rabbitmq
卸载旧版本rabbitmq和erlang
yum list | grep erlang
yum -y remove erlang-*
rm -rf /usr/lib64/erlang
# 卸载RabbitMQ
yum list | grep rabbitmq
yum -y remove rabbitmq-server.noarch
物料包地址:rabbitmq(这个版本的rabbitmq强依赖erlang25-26版本)
https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.12.14/rabbitmq-server-3.12.14.tar.xz
erlang:
http://erlang.org/download/otp_src_25.tar.gz
#下载相关软件
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel
下载完包之后上传到服务器/opt目录下
tar -zxvf otp_src_25.tar.gz
cd otp_src_25
./configure --prefix=/opt/erlang
make install
echo 'export PATH=$PATH:/opt/erlang/bin' >> /etc/profile
source /etc/profile
#测试
erl #会进入交互式界面
tar -xvJf rabbitmq-server-generic-unix-3.12.14.tar.xz
echo 'export PATH=$PATH:/opt/rabbitmq/sbin' >> /etc/profile
source /etc/profile
rabbitmq-server -detached
# 检查端口25672、5672,如存在证明该服务已启动
[root@region01 ~]# ss -tnlp|grep 5672
# 添加rabbitmq浏览器管理插件
[root@region01 ~]# rabbitmq-plugins enable rabbitmq_management
添加用户:rabbitmqctl add_user $用户名 $密码
为用户设置角色:rabbitmqctl set_user_tags $用户名 administrator
添加virtual host:rabbitmqctl add_vhost /
为用户设置virtual host:rabbitmqctl set_permissions -p / $用户名 '.*' '.*' '.*'
配置数据库
# 进入 MySQL
mysql -u root -p
# 创建数据库
CREATE DATABASE lw_cloud CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# 使用数据库
USE lw_cloud;
# 导入初始 SQL 文件(项目提供了初始 SQL 文件在后端代码sql目录)
SOURCE /path/to/your/lw_cloud.sql;
CREATE DATABASE xxl_job CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
use xxl_job;
SOURCE /path/to/your/tables_xxl_job.sql
nacos、前后端配置修改
参考:https://www.yuque.com/linkwechat/help/gt1myw
nginx配置修改
参考:https://gitee.com/LinkWeChat/link-we-chat-front (document/nginx.conf)
配置修改完后前后端打包、部署
常见问题
1:启动时部分jar包时候会报错rabbitmq中没有xxx队列
需要自己手动创建队列即可
2:部署后登陆超管
初始密码:admin 123456 (请第一时间修改下)
3:管理后台报错数据库操作异常:
需要配置sql_mode
4:上传图片失败,报错跨域问题:
腾讯云cos上面配置scrm域名允许访问即可
5:启动jar包报错读取不到nacos配置
检查下bootstrap.yml文件,默认是带有环境信息的,需要删掉profiles: xxx
6:企微配置接收事件服务器url报错:openapi回调地址请求不通过
根据提供的nginx配置是以下url
http(s)://域名/st/wecom/callback/recive/$corpid
个人部署记录,仅供参考。也希望可以多的帮助到您