初始化 ECS

购买 ECS

Linux部署 - 图1

初始化 CentOS7

sh os7init.sh zxcloudCopy to clipboardErrorCopied

安装 JDK

yum install -y java
java -versionCopy to clipboardErrorCopied

安装 Mysql 8

https://dev.mysql.com/downloads/
rpm -ivh xx.rpm
yum install -y mysql mysql-server
vi /etc/my.cnf
lower_case_table_names=1
systemctl restart mysqld
grep password /var/log/mysqld.log
set global validate_password.check_user_name=0;
set global validate_password.policy=0;
set global validate_password.length=1;
alter user ‘root’@’localhost’ identified by ‘root’;
use mysql;
update user set host = ‘%’ where user = ‘root’;
FLUSH PRIVILEGES;Copy to clipboardErrorCopied

安装 Redis

yum install redis
systemctl restart redisCopy to clipboardErrorCopied

安装 NGINX

vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
yum install -y yum-utils
yum-config-manager —enable nginx-mainline
yum install -y nginxCopy to clipboardErrorCopied

配置 hosts

vim /etc/hosts

127.0.0.1 zxcloud-register
127.0.0.1 zxcloud-gateway
127.0.0.1 zxcloud-redis
127.0.0.1 zxcloud-mysql
127.0.0.1 zxcloud-sentinel
127.0.0.1 zxcloud-xxl
source /etc/hostsCopy to clipboardErrorCopied

部署 zxcloud

准备源码包

  • zxcloud服务端 编译 jar

mvn clean install
Copy to clipboardErrorCopied

  • zxcloud-zxcloud 前端 编译 dist

npm run buildCopy to clipboardErrorCopied

初始化数据库

  • zxcloud db目录

source 1schema.sql
source 2zxcloudx.sql
source 3zxcloudx_ac.sql
source 4zxcloudx_job.sql
source 5zxcloudx_mp.sql
source 6zxcloudx_config.sql
source 7zxcloudx_pay.sql
source 8zxcloudx_codegen.sqlCopy to clipboardErrorCopied

启动服务端

nohup java -jar zxcloud-register.jar > /dev/null 2>&1 &
nohup java -jar zxcloud-monitor.jar > /dev/null 2>&1 &
nohup java -jar zxcloud-sentinel-dashboard.jar > /dev/null 2>&1 &
nohup java -jar zxcloud-gateway.jar > /dev/null 2>&1 &
nohup java -jar zxcloud-auth.jar > /dev/null 2>&1 &
nohup java -jar zxcloud-upms-biz.jar > /dev/null 2>&1 &Copy to clipboardErrorCopied

部署前端

mkdir -p /data/zxcloud-ui && cp -r dist/* /data/zxcloud-ui
cd /etc/nginx/conf.d && rm -f default.conf
vim zxcloud.conf
server {
listen 80;
server_name localhost;

gzip on;
gzip_static on; # 需要http_gzip_static_module 模块
gzip_min_length 1k;
gzip_comp_level 4;
gzip_proxied any;
gzip_types text/plain text/xml text/css;
gzip_vary on;
gzip_disable “MSIE [1-6].(?!.SV1)”;
# 前端打包好的dist目录文件
root /data/zxcloud-ui/;
# 若新增后端路由前缀注意在此处添加(|新增)
location ~
^/(code|auth|admin|monitor|gen|job|tx|act|mp|pay) {
proxy_pass http://zxcloud-gateway:9999;
proxy_connect_timeout 15s;
proxy_send_timeout 15s;
proxy_read_timeout 15s;
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 http;
}
# 避免端点安全问题
if ($request_uri ~ “/actuator”){
return 403;
}
}

nginxCopy to clipboardErrorCopied

ECS 安全组

  • 注意配置安全组,服务相关的端口对外暴露

Linux部署 - 图2

  • 80/443
  • 9999 网关 (如需访问swagger 需要)
  • 5001 监控 (如需访问monitor 需要)
  • 5020 监控 (如需访问monitor 需要)