jar 和 war 包部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
方法1:war包直接放在tomcat的webapps目录下,当tomcat能运行的时候,会自动解压,再去访问自己war的那个地址
比如HomeAdmin.war放在那里,http://162.14.96.81:8080/HomeAdmin/这样就能直接访问
记得打开端口和防火墙

方法2:配置文件看本文的第五项,Tomcat配置。
http://162.14.96.81:8081/manager/html 打开,并且再要部署的war文件那个选择文件按钮,点击上传war,访问方式依旧和1一样

jar包只需要安装好jdk然后放在云文件夹的/nwa下新建一个文件夹myproject来装,比如C/S架构的服务器就可以直接放这里不断的去运行它。打开这个的终端 java -jar 文件名.jar 这个只能运行到终端没关闭,想不断运行则输入
nohup java -jar xxx.jar 这行输入即可关闭终端,也会一直保留,下面几行不用输入

ctrl+z #挂起到后台
bg #后台执行
ctrl+d 退出当前但程序还在

java -jar xxx.jar 只当前运行,关掉终端即关闭
(3)关闭进程 记得双开宝塔

ps -aux | grep java

找到 root 978 31.6 14.5 3067424 298600 ? Sl 09:23 0:12 java -jar myspringboot.jar 这个978就是pid

kill -9 978

nohup java -jar luckyPic_Api-v1.jar --spring.profiles.active=prod &

http://162.14.96.81:3737/doc.html

docker 安装及常用指令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# 1、卸载旧版
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 2、需要的安装包
yum install -y yum-utils

# 3、设置镜像的仓库(推荐使用阿里云的,十分的快)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 更新yum软件包索引
yum makecache fast

# 4、安装dokcer(docker-ce:社区版,ee:企业版)
yum install docker-ce docker-ce-cli containerd.io

# 5、启动docker
systemctl start docker.service
停止docker
(systemctl stop docker.service)

# 6、是否安装成功,查看版本
docker --version / docker -v

# 7、设置开机自启
systemctl enable docker

#8、创建自定义网络
docker network create --driver bridge --subnet 172.0.0.0/16 woniu_network


# 1、卸载docker
yum remove docker-ce docker-ce-cli containerd.io

# 2、删除资源
rm -rf /var/lib/docker
rm -rf /var/lib/containerd


(2)
docker rm -f 容器id 强制删除指定容器
docker rmi -f 镜像id 强制删除指定镜像
docker ps -a 查看所有的容器
docker exec -it 容器id bash 进入容器
docker images 查看已安装的镜像
docker start 容器id 启动容器
docker restart 容器id 重启容器
docker stop 容器id 停止当前正在运行的容器

docker rm 容器id # 删除指定的容器,不能删除正在运行的容器,如果要强制删除 rm -f
docker pull 下载镜像
docker info 显示docker的系统信息,包括镜像和容器的数量
docker --help 帮助命令(查看所有的命令)
docker search 搜索镜像
docker rmi -f 镜像id 镜像id 镜像id 删除多个镜像
docker rmi -f $(docker images -aq) 删除全部镜像
docker rm -f $(docker ps -aq) 删除所有的容器
docker ps -a -q|xargs docker rm 删除所有的容器
docker ps 查看正在运行的镜像
docker kill 容器id 强制停止当前容器

MYSQL5 版本安装以及 8 版本报 1251 错误的解决

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
1、安装mysql
先查看镜像 docker images

没有则 docker pull mysql:5.7.17

docker run -id --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=nwa999 mysql:5.7.17
不指定版本会安装8的版本,就1251错误
3307:3306:映射容器服务docker的 3306 端口到宿主机[linux系统]的 3307 端口,外部主机可以直接通过 宿主机ip:3307 访问到 MySQL 的服务。记得把腾讯云的防火墙3307端口打开

docker exec -it mysql bash 进入容器,必须先运行再进入才有mysql
mysql -u root -p 能成功进入MySQL

2、查看mysql安装的版本
docker ps -a 可以看到mysql的容器id
docker start 9d04478b1b1b 运行
docker exec -it 9d04478b1b1b bash 进入
mysql -h localhost -u root -p123456 进入数据库
select version();查看mysql版本,原先的是8点多版本出现加密规则问题
发现是8.0.31版本


3、报1251错误,原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。

先查看正在运行的容器id,接着进入这个查看的容器,不进入会发现mysql找不到
(1)查看
docker ps -a

(2)进入这个查看的容器
docker exec -it CONTAINER ID bash

(3)因为无法输入密码,直接这样登录即可
mysql -h localhost -u root -p123456

(4)使用数据库
use mysql

(5)查看root
select user,host from user where user='root';

(6)对远程连接进行授权
GRANT ALL ON *.* TO 'root'@'%';

(7)更改密码的加密规则
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

(8)更改root的密码
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
(9)刷新权限,再次用客户端连接即可
flush privileges;


设置mysql最大连接数

方法1 重启就不行
docker exec -it mysql-master bash
mysql -h localhost -u root -p123456
set GLOBAL max_connections=5202;

方法2
/nwa/mysql5.7/master/mysql下mysql.cnf末尾添加 ,效果好像不行
[mysqld]
max_connections=5202
去navicat查看
show VARIABLES like 'max_conn%';

MYSQL 主从

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
 1、先去云服务器安装下面2个数据库
主数据库:
docker run -itd --name mysql-master -p 3309:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.17;
从数据库:
docker run -itd --name mysql-slave -p 3310:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.17;


2、打开Navicat连接上面2个,在打开主的数据库,并且查询,输入下面代码
主数据库
CREATE user nwa@'%' IDENTIFIED by '123456'; 创建用户 %任何人都有权限访问
GRANT REPLICATION SLAVE ON *.* TO nwa@'%';赋予权限是从数据库的权限,能新建任何数据表
FLUSH PRIVILEGES;刷新、生效
SHOW GRANTS for nwa@'%'; 查看拥有权限

3、再去云服务器修改主从服务器的配置,先改主的设置
复制这个文件到外面的文件里,修改,修改完再复制回去
docker cp mysql-master:/etc/mysql /nwa/mysql5.7/master/


mysql --help | grep my.cnf 查看文件位置

4、修改这/nwa/mysql5.7/slave/mysql/mysql.conf.d里cnf结尾的文件,配置下,重点最后2行
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
server-id = 100
log-bin = mysql-bin

5、修改完成后复制回去
docker cp /nwa/mysql5.7/master/mysql/mysql.conf.d/mysqld.cnf mysql-master:/etc/mysql/mysql.conf.d/

6、再看一下原文件是否修改
docker exec -it mysql-master bash
cd /etc/mysql/mysql.conf.d
cat mysqld.cnf

7、同理设置从数据库,先复制,再修改,再复制
docker cp mysql-slave:/etc/mysql /nwa/mysql5.7/slave/
修改配置文件
server-id = 101
log-bin = mysql-bin
再复制到容器里
docker cp /nwa/mysql5.7/slave/mysql/mysql.conf.d/mysqld.cnf mysql-slave:/etc/mysql/mysql.conf.d/

docker restart mysql-master 重启数据库
docker restart mysql-slave
以上docker里面主从设置完毕,再打开Navicat设置从数据库

STOP SLAVE;

CHANGE MASTER TO
MASTER_HOST='162.14.96.81', -- 宿主机ip
MASTER_PORT=3309, -- mysql-master映射到宿主机的端口
MASTER_USER='nwa', -- 用户名
MASTER_PASSWORD='123456';

START SLAVE; 启动从数据库
SHOW SLAVE status; 检测从数据库状态
必须2给都是Yes

接下来主数据库创建表,从也会同步了

数据要用sql语句去删,别直接删除行,不然数据就不能同步了出现下面的错误!
如果状态里Slave_SQL_Running是no,则再Navicat从数据库查询下面
stop slave;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;
start slave;
SHOW SLAVE status; 检测从数据库状态

修改密码
docker exec -it mysql bash
docker exec -it mysql-master bash
docker exec -it mysql-slave bash
mysql -h localhost -u root -pnwa999
set password for root@localhost = password('nwa999'); 这是只改本地,远程选下面
set password for 'root'@'%' =password('nwa999');
flush privileges;

set password for 'root'@'%' =password('nwa741741'); 发现主从密码修改不掉

Linux 常用指令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
   对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息
ls [选项][目录或文件]
-a 查看当前目录下的文件,包括隐藏文件
-l 长格式显示文件
-lh 以方便阅读的长格式显示

pwd 显示用户当前所在的目录

cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd ~ 切换到家目录
cd / 切换到根目录
cd /home/lx/linux1/ 绝对路径:从家目录出发,直到想要去的目录
cd …/lx/ 相对路径:从当前目录出发,直到想去的目录

netstat -anp | grep 端口号 查看端口

mkdir [选项] [路径] 文件名 创建空目录

rmdir [-p] [路径] 目录名
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除

touch 新建空文件

rm [选项] 文件名
- rm 有选项, rmdir 没有选项
- rmdir 只能删除空目录,不能删文件
- rm 带上选项-r可以删除非空目录

mv [选项] [路径] 旧文件名 [新路径][新文件名]
mv命令是move的缩写,可以用来移动文件或者将文件改名(move(rename)files),是Linux系统下常用的命令,经常用来备份文件或者目录
选项 说明
-f force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i 若目标文件 (destination) 已经存在时,就会询问是否覆盖
如果只移动不改名字,新名字可以不写
如果移动的同时改名字,新名字一定要写

cp [选项] [路径] 旧文件名 [新路径] 复制文件或目录
选项 说明
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R 或 --recursive 递归处理,将指定目录下的文件及子目录一并处理

vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
常用的几个命令:
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令
在底线命令模式中,基本的命令有(已经省略了冒号):
- q 退出程序
- w 保存文件
按ESC键可随时退出底线命令模式



grep 用于查找文件里符合条件的字符串

find 用来在指定目录下查找文件

kill 功能:用于删除执行中的程序或工作
kill [选项]/[信号] 进程号

Tomcat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
    1、
docker pull tomcat:8

2、
docker run --name 给容器起名字 -p 主机端口:容器内部的端口 -d 启动的容器:容器的版本号
docker run --name tomcat8 -p 8081:8080 -d tomcat:8 其中--name tomcat8 可省略

3、
docker exec -it 容器id/容器名 bash 进入

4、
rm -r webapps
mv webapps.dist/ webapps

http://162.14.96.81:8081/ 即可访问页面,但是无法访问Manager App需修改配置
cd conf

5、安装vim,docker是基于linux,vim是其命令需要安装
apt-get update
apt-get install vim
clear清空页面

6、vim tomcat-users.xml进入编辑,键盘按下i
解除3行注释并且修改

<role rolename="tomcat"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
<!--
<user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
<user username="role1" password="<must-be-changed>" roles="role1"/>
-->
</tomcat-users>
好了按下键盘esc 在输入:wq

7、exit 再进一次
docker exec -it tomcat8 bash
cd webapps/
cd manager/
cd META-INF/
vim context.xml
输入键盘i编辑,修改成这样
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />
8、重启tomcat8即可
http://162.14.96.81:8081/manager/html
账号密码都是tomcat

docker cp 0015300af648:webapps/ /nwa/
docker cp tomcat8:/webapps /nwa
docker cp nginx01:/etc/nginx/ /nwa/nginx/

docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' tomcat8

Redis

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
(1)docker pull redis

(2)在liunx里创建配置文件夹
/home/redis/myredis/data 创建这些文件夹即可
将myredis.conf放在data同级里,先放这个再配置其他

(3)启动redis容器
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /home/redis/myredis/myredis.conf:/etc/redis/redis.conf -v /home/redis/myredis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass nwa999

–restart=always 总是开机启动
–log是日志方面的
-p 6379:6379 将6379端口挂载出去
–name 给这个容器取一个名字
-v 数据卷挂载
/home/redis/myredis/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
/home/redis/myredis/data:/data 这个同上
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/myredis/myredis.conf
–appendonly yes 开启redis 持久化
–requirepass 000415 设置密码

(4)查看运行日志并运行cli
docker logs --since 30m myredis
docker exec -it myredis redis-cli
因为加密无法直接set需要先 auth nwa999
config get requirepass 查看密码

(5)配置文件,复制保存为myredis.conf放data同级即可

# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
#bind 127.0.0.1

protected-mode no

port 6379

tcp-backlog 511

requirepass nwa999

timeout 0

tcp-keepalive 300

daemonize no

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile ""

databases 30

always-show-logo yes

save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir ./

replica-serve-stale-data yes

replica-read-only yes

repl-diskless-sync no

repl-disable-tcp-nodelay no

replica-priority 100

lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no

appendonly yes

appendfilename "appendonly.aof"

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

aof-use-rdb-preamble yes

lua-time-limit 5000

slowlog-max-len 128

notify-keyspace-events ""

hash-max-ziplist-entries 512
hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128
zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

stream-node-max-bytes 4096
stream-node-max-entries 100

activerehashing yes

hz 10

dynamic-hz yes

aof-rewrite-incremental-fsync yes

rdb-save-incremental-fsync yes

(6)补充bug解决,springboot无法连接,密码加引号
spring:
redis:
port: 6379 # 服务器端口
host: localhost # r服务器地址
database: 0 # 数据库索引(默认0)
password: '000415' #密码
jedis:
pool:
max-active: 50 # 连接池最大连接数(使用负值表示没有限制)
max-wait: 3000ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 20 # 连接池中的最大空闲连接数
min-idle: 2 # 连接池中的最小空闲连接数
connect-timeout: 5000ms # 连接超时时间(毫秒)

(7)修改密码
重装镜像


Nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1、直接安装,没镜像自动装最新
docker run --name nginx01 -p 9091:80 -d nginx
http://162.14.96.81:9091/

2、创建linux下的目录1个
/nwa/nginx

3、复制nginx容器内的配置到挂载目录
docker cp nginx01:/etc/nginx/ /nwa/nginx/
docker cp nginx01:/usr/share/nginx/html /nwa/nginx
docker cp nginx01:/var/log/nginx /nwa/nginx/log

4、安装新的nginx,顺便将其配置文件挂载到刚刚这个目录
docker run --name nginx04 -p 9094:80 -v /nwa/nginx/html:/usr/share/nginx/html -v /nwa/nginx/nginx/nginx.conf:/etc/nginx/nginx.conf -v /nwa/nginx/nginx/conf.d:/etc/nginx/conf.d -d nginx

然后修改/nwa/nginx/html下html内容,发现nginx4也会变化,说明成功
http://162.14.96.81:9091/ 下并不会有变化,因为它只是用来复制出文件,并没关联
http://162.14.96.81:9094/ 随着html改变改变,关联了外部的配置文件

5、nginx01配置完就没用了,删除
docker stop nginx01
docker rm nginx01

前后端项目部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
0、打算将vue项目部署到nginx04上面

1、先测试数据库部署到云,是否成功,成功即可将springboot项目pom.xml里<version>0.0.1-SNAPSHOT9999</version>对应上端口号,然后再打包成jar包放在云服务器,并启动,先用本地vue项目测试云后端,测试后端部署成功
nohup java -jar xxx.jar

2、vue项目本地打包前。Vue2配置config里
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
transpileDependencies: true,
assetsDir: 'static', //打包配置文件
parallel: false,
publicPath: './',
devServer: {
port: 9094, //这是vue启动的端口
// host: '192.168.1.101', //本地ip
// open: true,
proxy: {
'/api': {
// target: 'http://192.168.1.102:9999/', //这是本地服务器地址
// target: 'http://162.14.96.81:9999/', //这是本地访问的云服务器地址
target: 'http://162.14.96.81:9094/', //部署到云服务器对应nginx地址了
changeOrigin: true,
ws: true,
pathRewrite: {
'^/api': ''
}
}
}
}
})

npm run build打包成dist文件夹,并将文件夹内容拖进/nwa/nginx/html里面

http://162.14.96.81:9094/#/

3、修改nginx配置文件/nwa/nginx/nginx/conf.d下的以conf后缀文件,3个配置点
upstream nwa { #配置1,对应后端端口
server 162.14.96.81:9999;
}
server {
listen 80;
listen [::]:80;
server_name nwa; #配置2

#access_log /var/log/nginx/host.access.log main;

location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /api/ {
proxy_pass http://nwa/;#反向代理 配置3

}
4、验证配置是否正确
docker exec -it nginx04 bash
nginx -t 会提示成功
nginx -s reload 再加载配置文件

5、再次http://162.14.96.81:9094/#/并且可以登录了

或者这样直接反向代理解决跨域问题
location /api {
proxy_pass http://162.14.96.81:3737/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

nacos 单机版安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
宝塔辅助安装  版本nacos-server-1.4.1.tar.gz  要对应springboot版本
而且必须需linux版本的安装包

(1)将压缩包直接拖到宝塔/nwa/nacos文件夹里面,然后解压

(2)配置mysql环境,/nwa/nacos/nacos/conf下的nacos-mysql.sql复制一下内容,然后我把数据放到了我的云数据库里面,nacos_config,新建查询,粘贴运行

(3)防火墙开放8848、9848、9849三个端口
nacos默认的端口为8848,由于Nacos2.0版本需要增加2个端口。进行一定偏移量自动生成(分别偏移了1000和1001)

/nwa/nacos/nacos/conf里编辑application.properties文件
### Connect URL of DB:
# db.url.0=jdbc:mysql://162.14.96.81:3307/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
# db.user.0=root
# db.password.0=nwa999

(4)在/nwa/nacos/nacos/bin下编辑startup.sh中主要根据当前服务器的配置修改JVM大小,比如:修改为1G或者更大
#===========================================================================================
# JVM Configuration
#===========================================================================================
if [[ "${MODE}" == "standalone" ]]; then
JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn512m"
JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
改下面一行
JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn512m"

(5)
sh startup.sh -m standalone 启动
sh shutdown.sh 关闭

参考如下:
https://blog.csdn.net/zhuocailing3390/article/details/123056124


docker pull nacos/nacos-server:1.4.1


mkdir -p /home/docker/nacos/conf \
mkdir -p /home/docker/nacos/logs \
mkdir -p /home/docker/nacos/data


docker run -d -p 8848:8848 -p 9848:9848 \
--name nacos \
--restart=always \
--env MODE=standalone \
--env SPRING_DATASOURCE_PLATFORM=mysql \
--env MYSQL_SERVICE_HOST=162.14.96.81 \
--env MYSQL_SERVICE_PORT=3307 \
--env MYSQL_SERVICE_DB_NAME=nacos_config \
--env MYSQL_SERVICE_USER=root \
--env MYSQL_SERVICE_PASSWORD=nwa999 \
--env JVM_XMS=512m \
--env JVM_XMX=512m \
-v /home/docker/nacos/conf:/home/nacos/conf \
-v /home/docker/nacos/logs:/home/nacos/logs \
-v /home/docker/nacos/data:/home/nacos/data \
nacos/nacos-server:1.4.1


http://162.14.96.81:8848/nacos


docker run -d -p 8848:8848 -p 9848:9848 -e MODE=standalone -e PREFER_HOST_MODE=hostname -v /root/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties -v /root/nacos/logs:/home/nacos/logs --restart always --name nacos nacos/nacos-server:1.4.1

docker run -d -p 8848:8848 \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=162.14.96.81 \
-e MYSQL_SERVICE_PORT=3307 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=nwa999 \
-e MYSQL_DATABASE_NUM=1 \
-v /root/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
-v /root/nacos/logs:/home/nacos/logs \
--restart always --name nacos nacos/nacos-server:1.4.1

docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server:1.4.1

维护

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
docker exec -it mysql-master bash
docker exec -it mysql-slave bash
mysql -h localhost -u root -p123456
mysql -h localhost -u root -pnwa999
set GLOBAL max_connections=5202;

去navicat查看
show VARIABLES like 'max_conn%';



数据要用sql语句去删,别直接删除行,不然数据就不能同步了出现下面的错误!
如果状态里Slave_SQL_Running是no,则再Navicat从数据库查询下面
stop slave;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;
start slave;
SHOW SLAVE status; 检测从数据库状态

必须保持开发者的yml文件中都有主从配置,否则就会出现sqlNO的情况

阿里云服务器和 jdk1.8 安装

1
2
3
4
5
6
7
8
9
10
安装宝塔
https://blog.csdn.net/weixin_57024489/article/details/126671810

kpuyklbi
741741

yum list java-1.8*
yum install java-1.8.0-openjdk* -y
java -version

博客部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
1、直接安装,没镜像自动装最新
docker run --name nginx01 -p 80:80 -d nginx

2、创建linux下的目录1个
/nwa/nginxBlog

3、复制nginx容器内的配置到挂载目录
docker cp nginx01:/etc/nginx/ /nwa/nginxBlog/
docker cp nginx01:/usr/share/nginx/html /nwa/nginxBlog
docker cp nginx01:/var/log/nginx /nwa/nginxBlog/log

docker stop nginx01
docker rm nginx01

4、安装新的nginx,顺便将其配置文件挂载到刚刚这个目录,下面是一行
docker run --name nginx01 -p 80:80 -v /nwa/nginxBlog/html:/usr/share/nginx/html -v /nwa/nginxBlog/nginx/nginx.conf:/etc/nginx/nginx.conf -v /nwa/nginxBlog/nginx/conf.d:/etc/nginx/conf.d -d nginx

然后修改/nwa/nginxBlog/html下html内容,发现nginx1也会变化,说明成功
http://162.14.96.81/

5、配置tomcat的反向代理 在/nwa/nginxBlog/nginx/conf.d下的文件下编辑 location /同级

location /HomeAdmin {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://162.14.96.81:8081/HomeAdmin; # 转发请求给 Tomcat 端口
}
location /HomeClient {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://162.14.96.81:8081/HomeClient; # 转发请求给 Tomcat 端口
}


docker exec -it nginx01 bash
nginx -t 会提示成功
nginx -s reload 再加载配置文件

UI 组件库部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
docker run --name nginx02 -p 9094:80 -d nginx

/nwa/nginxUi

docker cp nginx02:/etc/nginx/ /nwa/nginxUi/
docker cp nginx02:/usr/share/nginx/html /nwa/nginxUi
docker cp nginx02:/var/log/nginx /nwa/nginxUi/log

docker stop nginx02
docker rm nginx02

docker run --name nginx02 -p 9094:80 -v /nwa/nginxUi/html:/usr/share/nginx/html -v /nwa/nginxUi/nginx/nginx.conf:/etc/nginx/nginx.conf -v /nwa/nginxUi/nginx/conf.d:/etc/nginx/conf.d -d nginx

http://162.14.96.81:9094/

http://luckynwa.top/myui 访问这个会出现404,可以跳到主页就正常。解决不掉,老实用端口

location /myui {
proxy_pass http://162.14.96.81:9094/index.html;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /assets {
proxy_pass http://162.14.96.81:9094/assets;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

图床地址的反向代理

1
2
3
4
5
location /mypic {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://162.14.96.81:3737/;
}

图片管理前端部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
docker run --name nginx03 -p 9095:80 -d nginx


docker cp nginx03:/etc/nginx/ /nwa/nginxPic/
docker cp nginx03:/usr/share/nginx/html /nwa/nginxPic
docker cp nginx03:/var/log/nginx /nwa/nginxPic/log


docker stop nginx03
docker rm nginx03


docker run --name nginx03 -p 9095:80 -v /nwa/nginxPic/html:/usr/share/nginx/html -v /nwa/nginxPic/nginx/nginx.conf:/etc/nginx/nginx.conf -v /nwa/nginxPic/nginx/conf.d:/etc/nginx/conf.d -d nginx

http://162.14.96.81:9095/

location /api {
proxy_pass http://162.14.96.81:3737/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
docker exec -it nginx03 bash
nginx -t 会提示成功
nginx -s reload 再加载配置文件

80 端口部署多个项目

首先在一个 nginx 上,这个监控着 80 端口,其次需要有域名

域名有 1 级、2 级

比如 luckynwa.top 和头部加入 www 都是指向一个位置,这是 1 级

把 www 改成变得,还是 A 类型指向云服务 ip 即可

修改 nginx 配置,复制多个 serve 来监控 80 端口,不同前缀的值,每个 serve 都是一个服务,具体配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
server {
listen 80;
listen [::]:80;
server_name WWW.luckynwa.top;

location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /HomeAdmin {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://162.14.96.81:8081/HomeAdmin; # 转发请求给 Tomcat 端口
}
location /HomeClient {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://162.14.96.81:8081/HomeClient; # 转发请求给 Tomcat 端口
}
location /mypic {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://162.14.96.81:3737/;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
server {
listen 80;
listen [::]:80;
server_name myui.luckynwa.top;

location / {
root /usr/share/nginx/html/myui;
index index.html index.htm;
}


error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}


server {
listen 80;
listen [::]:80;
server_name mypic.luckynwa.top;

location / {
root /usr/share/nginx/html/mypic;
index index.html index.htm;
}

location /api {
proxy_pass http://162.14.96.81:3737/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}

负载均衡

Nginx 实现负载均衡的原理是将进入的客户端请求分发到多个后端服务器,以达到请求的平衡分配和提高整体系统性能的目的。

使用keepalived管理两台 nginx,如果一台 nginx 挂了,可以切另一台 nginx

即用户访问一个域名时候,会代理到不同的后端服务器上,比如一个后端服务有 97、98、9999 都是,有空去测试

address:后端服务器的地址。可以是 IP 地址或域名。

parameters:可选的参数,用于调整负载均衡的行为。常用参数包括:

weight:定义服务器的权重,默认为 1。权重越高,Nginx 会将更多的请求发送到该服务器。例如:

1
2
server backend1.example.com weight=2;
类似 server 162.14.96.81:3740 weight=2;

max_fails:可选参数,定义服务器允许的最大失败次数,默认为 1。
fail_timeout:可选参数,定义服务器的故障超时时间,默认为 10s。
backup:可选参数,标记服务器为备份服务器。只有当所有其他服务器都不可用时,才会将请求发送到备份服务器。
down:可选参数,标记服务器为下线状态,不接收请求。

用 pic 的后端来做一个负载均衡单体项目测试,首先修改弄 3 个端口 3738,3739,3740 并打成 jar 包,部署到服务器并运行

java -jar lucky38.jar –spring.profiles.active=prod

java -jar lucky39.jar –spring.profiles.active=prod

java -jar lucky40.jar –spring.profiles.active=prod

修改 nginx 配置文件/nwa/nginx/nginx/conf.d 下的以 conf 后缀文件,3 个配置点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
upstream nwa {      #配置1,对应后端端口
server 162.14.96.81:3738;
server 162.14.96.81:3739;
server 162.14.96.81:3740;
}
server {
listen 80;
listen [::]:80;
server_name mypic.luckynwa.top;

location / {
root /usr/share/nginx/html/mypic;
index index.html index.htm;
}

location /api {
proxy_pass http://nwa/;#反向代理 配置3
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}

重新加载配置

1
2
3
docker exec -it nginx01 bash
nginx -t 会提示成功
nginx -s reload 再加载配置文件

原先备份

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
server {
listen 80;
listen [::]:80;
server_name mypic.luckynwa.top;

location / {
root /usr/share/nginx/html/mypic;
index index.html index.htm;
}

location /api {
proxy_pass http://162.14.96.81:3737/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}

测试成功!端口请求成功负载均衡 😆

Idea 插件之 Docker 自动部署项目到云服务器

用宝塔打开找到路径/usr/lib/systemd/system 下的 docker.service 文件编辑它

搜 ExecStart

1
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

1
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

去 shell 那输入,重新加载 docker 的配置

1
2
3
systemctl daemon-reload

systemctl restart docker

再去安全那开发端口 2375 同步到外部云也开发

idea 安装插件 docker 并打开编辑配置它,选 tcp 里 socket

1
tcp://162.14.96.81:2375

连接即可!感觉这个端口有点危险,换一个比较好

引入依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<build>
<plugins>
<!-- docker配置-->
<!-- docker插件-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<dependencies>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1</version>
</dependency>
</dependencies>

<configuration>
<!-- 远程Docker的地址 -->
<dockerHost>http://162.14.96.81:23756</dockerHost>
<!-- 镜像名称、前缀、项目名 -->
<imageName>sxl/${project.artifactId}</imageName>
<!-- Dockerfile的位置 -->
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<!-- 表示的target文件夹 -->
<directory>${project.build.directory}</directory>
<!-- 表示打出来的JAR包-->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
<executions>
<execution>
<id>build-image</id>
<!--将插件绑定在package这个phase上。也就是说,用户只需执行mvn package ,就会自动执行mvn docker:build-->
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

在 src/main/docker 下创建文件 Dockerfile

1
2
3
4
5
6
7
8
9
10
FROM openjdk:8-jre
# java版本,最好使用openjdk,而不是类似于Java:1.8 这种。
# 原因我也不知。
COPY *.jar /app.jar
# 执行创建app.jar
EXPOSE 10086
# 向外暴露的接口,最好与项目yml文件中的端口一致
ENTRYPOINT ["java","-jar","app.jar"]
# 执行启动命令java -jar

再去右侧 maven 树那边

项目下的 Lifecycle 中 package——->

去控制台里的 docker 插件中查看 images 中就能发现多了一个自己项目的镜像

—————->右键项目镜像——>创建容器—->名字看着来—–>最好是点击 Modify options 中的 Run options

然后输入名称 以及运行参数

1
-d -p 10086:10086

Run 起来,这个后端项目的端口记得也去开放一下

如果是更新代码,删除掉 docker 里生成的项目镜像和它的缓存镜像,去 package 一下,再右键项目镜像,创建它即可

内网穿透

穿透资源放在 E:\other\装机必备软件\内网穿透

frp_0.46.1_linux_amd64.tar.gz 拷贝到 linux 服务器上 /nwa 下

1
2
cd /nwa
tar -xvf frp_0.46.1_linux_amd64.tar.gz

解压后可以删除 frpc 相关的文件。frps 的都是服务端文件,frpc 的都是客户端文件

1
2
cd  /frp_0.46.1_linux_amd64.tar.gz
rm -f frpc*

修改服务端配置文件 frps.ini

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[common]
#默认端口7000,客户端和服务端通信的端口,可以不用修改
bind_port = 7000
#http服务监听的端口,即frp服务端向外部暴露出去的端口
vhost_http_port = 9988
#frp的web管理控制台的用户名和密码,7500是默认端口,可以通过服务端ip+7500端口登录
dashboard_port = 7500
#frp管理页面的账号密码,随意设置
dashboard_user = admin
dashboard_pwd = admin
#日志
log_file = ./frps.log
#log_level = info
log_max_days = 3

启动 frp 服务端

1
./frps -c ./frps.ini &

端口开放 7500、7000、9988、6000 这 4 个端口

http://luckynwa.top:7500 访问

1
2
cd  /nwa/frp
./frps -c ./frps.ini &

客户端配置

解压,留下 4 个文件即可 frpc.exe | frpc.ini | frpc_full.ini | LICENSE

编辑 frpc.ini

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[common]
server_addr = 162.14.96.81
#与服务端通信的端口,与frps.ini文件中的bind_port一致,默认不变
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

#自定义内网穿透通道,名称必须唯一
[http-test]
#连接类型
type = http
#本地地址
local_ip = 127.0.0.1
#需要穿透的本地内网的端口号
local_port = 1088
#请求时映射的域名,如果没有域名,填云服务器公网的IP地址
custom_domains = luckynwa.top

客户端启动命令:

1
.\frpc.exe -c frpc.ini

http://luckynwa.top:7500/static/#/proxies/http可以看到有名称

去 springboot 项目打开一个测试一下即可

http://luckynwa.top:9988/ffee-wiring/doc.html

这种有缺点,一断开连接就无了。推荐用软件来弄

http://luckynwa.top:9988/home

服务器不断运行这个,使用 nohup 后台挂起服务并记录日志

1
nohup ./frpc -c frpc.ini > ./frpc.log 2>&1 &

http://47.98.230.128:7700

Smart-doc

smart-doc 是一款接口文档生成工具,不会使用任何注解侵入业务代码中

注意:我们项目中的类、方法、属性,都必须使用文档注释!

resource 目录下新建一个 smart-doc.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"serverUrl": "http://localhost:8080",
"pathPrefix": "",
"allInOne": true,
"outPath": "D://projectDoc",
"style": "xt256",
"createDebugPage": false,
"revisionLogs": [
{
"version": "1.0",
"revisionTime": "2023-11-09 10:30",
"status": "创建",
"author": "luckyNwa",
"remarks": "xxx管理系统"
}
]
}

“allInOne”: true 后,生成的文档中只会包含一个 index.html 文件。如果设置为 false,生成的接口文档会包括 api.html、dict.html 和 error.html 多个文件

“createDebugPage”: true,双击插件的 smart-doc:html 选项,即可生成带接口调用功能的接口文档,双击 debug-all.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
"isStrict": false,//严格的注释检查 当缺少注释或注释不规范时无法生成文档 默认false
"style":"xt256", //基于highlight.js的代码高设置
"pathPrefix": "/ffee-wiring", //请求的api前缀
"showAuthor":true,//是否显示接口作者名称,默认是true,不想显示可关闭
"requestFieldToUnderline":true,//自动将驼峰入参字段在文档中转为下划线格式
"responseFieldToUnderline":true,//自动将驼峰入参字段在文档中转为下划线格式
"inlineEnum":true,//设置为true会将枚举详情展示到参数表中,默认false
"ignoreRequestParams":[ //忽略请求参数对象,把不想生成文档的参数对象屏蔽掉
"org.springframework.ui.ModelMap"
],
"requestHeaders": [{ //设置请求头,没有需求可以不设置
"name": "token",//请求头名称
"type": "string",//请求头类型
"desc": "desc",//请求头描述信息
"value":"token请求头的值",//不设置默认null
"required": false,//是否必须
"since": "-",//什么版本添加的改请求头
"pathPatterns": "/app/test/**",//请看https://smart-doc-group.github.io/#/zh-cn/diy/advancedFeatures?id=公共请求头
"excludePathPatterns":"/app/page/**"//请看https://smart-doc-group.github.io/#/zh-cn/diy/advancedFeatures?id=公共请求头
}]
}

pom.xml 文件的 plugins 标签中

1
2
3
4
5
6
7
8
9
10
11
<plugin>
<groupId>com.github.shalousun</groupId>
<artifactId>smart-doc-maven-plugin</artifactId>
<version>2.6.4</version>
<configuration>

<configFile>./src/main/resources/smart-doc.json</configFile>

<projectName>员工系统接口文档</projectName>
</configuration>
</plugin>

项目右侧的 maven 打开,查找这个插件,双击 smart-doc:html 就可以生成 html 格式的接口文档

Torna

数据库 8.20 才没有问题

https://torna.cn/

安装到 dockek 里面

1
docker pull registry.cn-hangzhou.aliyuncs.com/tanghc/torna:1.23.2
1
mkdir /etc/torna && wget https://gitee.com/durcframework/torna/raw/master/install/application.properties -O /etc/torna/application.properties
1
2
3
4
vim /etc/torna/application.properties  修改数据库连接配置

3307的
nwa741741
1
2
3
4
5
docker run --name torna --restart=always \
-p 7700:7700 \
-e JAVA_OPTS="-server -Xms512m -Xmx512m" \
-v /etc/torna/application.properties:/torna/config/application.properties \
-d registry.cn-hangzhou.aliyuncs.com/tanghc/torna:1.23.2

端口记得打开,

http://162.14.96.81:7700 装不上,可能内存不够

application.properties

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 服务端口
server.port=7700

# 数据库连接配置
mysql.host=162.14.96.81:3307
mysql.schema=torna
mysql.username=root
mysql.password=nwa741741

# 允许注册
torna.register.enable=true
# jwt有效期,即多少天内不用再次登录
torna.jwt.timeout-days=365
# jwt秘钥,可使用UUID,确保唯一性即可
torna.jwt.secret=CHezCvjte^WHy5^#MqSVx9A%6.F$eV
# 创建后台用户初始密码
torna.user.initial-password=123456
# 日志文件路径
logging.file.name=log/server.log

# 单文件大小限制
spring.servlet.multipart.max-file-size=20MB
# 总请求量大小限制
spring.servlet.multipart.max-request-size=100MB

# 推送是否允许相同文件夹名称
torna.push.allow-same-folder=true
# 推送打印内容
torna.push.print-content=false


# 返回参数表格需要隐藏的列,多个用逗号隔开
# 列选项:required,maxLength
torna.view-config.response-hidden-columns=required,maxLength
# 初始排序值
torna.view-config.init-order=10000