centos7基础套餐搭建

ssh默认端口修改

服务器默认为22端口,这样会造成有被暴力破解密码的风险,下面是更换ssh端口过程

1.添加ssh端口

1
vim /etc/ssh/sshd_config

打开配置文件,添加我们需要更改的端口号,此时不要删除默认22端口,让两个端口同时存在,如果我们直接修改了端口,然后启动防火墙之后,就会出现我们没有使用防火墙开放端口,导致我们连接不上服务器,我们暂且保留默认22,如果更改过后,使用新端口号没问题,再删除默认22端口不迟

img

我们想把端口改为2020,就如图添加上去,保存退出,然后重启ssh服务

1
systemctl restart sshd.service

2。配置防火墙规则

1
2
3
4
5
6
7
8
9
10
11
12
#启动防火墙
systemctl start firewalld.service
#关闭防火墙
systemctl stop firewalld.service
#重启防火墙
systemctl restart firewalld.service
#查看防火墙状态
systemctl status firewalld.service
#设置开机启动防火墙
systemctl enable firewalld.service
#设置开机不启动防火墙
systemctl disable firewalld.service

首先启动防火墙,然后添加防火墙规则

1
2
3
4
5
6
7
8
9
10
firewall-cmd --zone=public --add-port=2020/tcp --permanent  
#说明:#开放2020端口
#–zone 作用域
#–add-port=2020/tcp #添加端口,格式为:端口/通讯协议
#–permanent 永久生效,没有此参数重启后失效
#添加完毕过后重新读取防火墙规则或者重启防火墙,规则才生效
#重新读取防火墙规则
firewall-cmd --reload
#或者重启防火墙:
systemctl restart firewalld.service

3.连接测试

断开当前ssh连接,然后把ssh连接端口改为我们示例所修改的2020尝试连接,如果连接正常,我们继续如下步骤:

img

正常连接过后,我们此时就可以删除默认的22端口了

1
vim /etc/ssh/sshd_config

删除Port 22 这一行,只留下我们的Port 2020,然后重启ssh服务

1
systemctl restart sshd.service

至此,centos7默认ssh端口修改完成

nginx配置篇

yum安装nginx

1、安装依赖

1
yum install yum-utils -y

2、配置nginx镜像源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#创建nginx.repo
vim /etc/yum.repos.d/nginx.repo

#写入以下内容
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/x86_64/
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/7/x86_64/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

一定要联网运行以下命令,如果没有联网会报错

1
2
yum clean all
yum repolist all

3、安装nginx

1
yum install nginx -y

4、管理nginx相关命令

1
2
3
4
5
6
#通过以下命令管理nginx
nginx #启动nginx
nginx -s quit #关闭nginx
./nginx -s reload #修改了文件之后重新加载该程序文件
ps aux|grep nginx #查看nginx进程
nginx -s reload #重启nginx 如果重启报错(nginx: [error] open() "/var/run/nginx.pid" failed (2: No such file or directory)) 执行 nginx -c /etc/nginx/nginx.conf

nginx相关配置文件

1
2
3
4
配置文件 /etc/nginx/nginx.conf
自定义配置文件 /etc/nginx/conf.d
项目文件 /usr/share/nginx/html
日志文件 /var/log/nginx

nginx配置https

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
#server {
# listen 80;
# server_name localhost;

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

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



#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# root /usr/share/nginx/html;
# }

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
#}


#https 配置
server {
listen 443 ssl;
server_name www.mk88.ga;

root /usr/share/nginx/html; #文件地址
index index.html index.htm; #默认首页

ssl_certificate /usr/src/dev/httpskp/8670678_www.mk88.ga.pem; #签名路径
ssl_certificate_key /usr/src/dev/httpskp/8670678_www.mk88.ga.key; #签名路径

ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location ^~/exf {
alias /usr/src/dev/control-front/dist/;
try_files $uri $uri/ /exf/index.html;
index index.html index.htm;
}


location /ex {
proxy_pass http://localhost:8008/control;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}


location /stage-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080/;
}


}

#http请求自动重订向https
server{
listen 80;
server_name www.mk88.ga;
rewrite ^/(.*)$ https://www.mk88.ga:443/$1 permanent;
}



5、浏览器访问nginx测试页面
1、关闭防火墙或开启80端口

1
2
3
systemctl stop firewalld      #关闭防火墙
firewall-cmd --zone=public --add-port=80/tcp --permanent #开启80端口
firewall-cmd --reload #重载防火墙

2、关闭selinux

1
2
setenforce 0      #临时关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disable/' /etc/selinux/config #永久关闭selinux

在浏览器输入ip地址:80

jdk12环境配置

Linux系统安装jdk12

1.下载jdk

jdk-12.0.2_linux-x64_bin.tar.gz

下载jdk
我这里的jdk是jdk-12.0.2版本的,适合64位操作系统

2.安装

先把安装包上传到/home目录

在这里插入图片描述

解压

1
tar -zxvf jdk-12.0.2_linux-x64_bin.tar.gz

在这里插入图片描述

然后就解压好了

在这里插入图片描述

配置环境变量

1
vim /etc/profile

在这里插入图片描述

在末尾添加下面内容

1
2
3
export JAVA_HOME=/home/jdk-12.0.2
export CLASSPATH=$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

在这里插入图片描述

让环境变量生效

1
source /etc/profile

在这里插入图片描述

检查是否成功,下面三个命令都可以执行代表成功,有一个失败就算失败,需要检查环境变量是否配置错误

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

启动:

1
2
nohup java -jar control-0.0.1-SNAPSHOT.jar  >logs.log 2>&1 &

jar包启动脚本

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
#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=/usr/local/dev/yk_admin/ruoyi-admin.jar

#日志文件路径及名称(目录按照各自配置)
LOG_FILE=/usr/local/dev/yk_admin/admin.log

#使用说明,用来提示输入参数
usage() {
echo "Usage: sh demo.sh [start|stop|restart|status]"
exit 1
}

#检查程序是否在运行
is_exist() {
pid=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}' `
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}

#启动方法
start() {
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running. pid=${pid} ."
else
echo "${APP_NAME} 启动 ."
nohup java -jar $APP_NAME >> $LOG_FILE 2>&1 &
#指定配置文件
#nohup java -jar -Dfile.encoding=utf-8 -Dspring.profiles.active=dev $APP_NAME >> $LOG_FILE 2>&1 &
fi
}

#停止方法
stop() {
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
else
echo "${APP_NAME} is not running"
fi
}

#输出运行状态
status() {
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is not running."
fi
}

#重启
restart() {
stop
start
}

#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac

常见报错

nohup: failed to run command ‘java’: No such file or directory解决方案

问题描述

Jekins打包后端项目后发送Jar到对应的应用服务器,通过应用服务器Shell脚本启动服务报错

1
nohup: failed to run command ‘java’: No such file or directory

原因分析:
通过脚本执行Java命令时确报错找不到java。这是由于脚本执行命令的时候会默认区/usr/bin里面去找java

解决方案:
java的bin配置软链接映射到/usr/bin目录下

1
2
3
4
5
6
7
8
#查看jdk安装目录
echo $JAVA_HOME

#cd到usr/bin目录下
cd /usr/bin

#配置软链接映射
ln -s -f JDK所在路径/bin/java

安装mysql8

安装版本:MySQL-community-8.0.29

0. 删除MariaDB

在CentOS 7中默认有安装MariaDB,这个是MySQL的分支,通过其他方式安装MySQL需要删除MariaDB或补全依赖关系,但通过yum安装则会自动覆盖MariaDB并补全依赖(也就是说yum安装的话删不删都行)

0.1 检查MariaDB

1
rpm -qa|grep mariadb

image-20220712200207165

0.2 删除MariaDB

(如果上条命令返回为空则略过)

1
2
3
rpm -e --nodeps mariadb-server
rpm -e --nodeps mariadb
rpm -e --nodeps mariadb-libs

0.3 检查MariaDB

重复步骤0.1若无返回即表示删除成功

1. 添加MySQL Yum Repository

从CentOS 7开始,MariaDB成为Yum源中默认的数据库安装包。也就是说在CentOS 7及以上的系统中使用yum安装MySQL默认安装的会是MariaDB(MySQL的一个分支)。如果想安装官方MySQL版本,需要使用MySQL提供的Yum源。

1.1 下载MySQL源

1
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

image-20220712201235953

1.2 安装MySQL源

1
yum install mysql80-community-release-el7-3.noarch.rpm   

image-20220712201820601

1.3 检查

安装完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repomysql-community-source.repo

image-20220712202228045

2. 安装MySQL

2.1 使用yum安装MySQL

默认情况下自动安装最新版的MySQL,即8.0.29

1
yum -y install mysql-community-server

该命令会安装MySQL服务器 (mysql-community-server) 及其所需的依赖、相关组件

如果安装过程中报错,You could try using --skip-broken to work around the proble

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
--> Finished Dependency Resolution
Error: Package: mysql-community-client-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libncurses.so.6()(64bit)
Error: Package: mysql-community-libs-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
Error: Package: mysql-community-libs-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(CXXABI_1.3.8)(64bit)
Error: Package: mysql-community-client-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
Error: Package: mysql-community-server-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(CXXABI_1.3.9)(64bit)
Error: Package: mysql-community-server-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
Error: Package: mysql-community-client-plugins-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libc.so.6(GLIBC_2.25)(64bit)
Error: Package: mysql-community-libs-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
Error: Package: mysql-community-client-plugins-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(CXXABI_1.3.8)(64bit)
Error: Package: mysql-community-server-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libtirpc.so.3()(64bit)
Error: Package: mysql-community-client-plugins-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(CXXABI_1.3.9)(64bit)
Error: Package: mysql-community-libs-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libc.so.6(GLIBC_2.28)(64bit)
Error: Package: mysql-community-server-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
Error: Package: mysql-community-client-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(CXXABI_1.3.9)(64bit)
Error: Package: mysql-community-server-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(CXXABI_1.3.11)(64bit)
Error: Package: mysql-community-client-plugins-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
Error: Package: mysql-community-client-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libtinfo.so.6()(64bit)
Error: Package: mysql-community-server-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(GLIBCXX_3.4.22)(64bit)
Error: Package: mysql-community-server-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libtirpc.so.3(TIRPC_0.3.3)(64bit)
Error: Package: mysql-community-client-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libc.so.6(GLIBC_2.28)(64bit)
Error: Package: mysql-community-libs-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(CXXABI_1.3.9)(64bit)
Error: Package: mysql-community-client-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
Error: Package: mysql-community-client-plugins-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
Error: Package: mysql-community-server-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libtirpc.so.3(TIRPC_0.3.0)(64bit)
Error: Package: mysql-community-server-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libc.so.6(GLIBC_2.28)(64bit)
Error: Package: mysql-community-client-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(CXXABI_1.3.8)(64bit)
Error: Package: mysql-community-server-8.0.30-1.el8.x86_64 (mysql80-community)
Requires: libstdc++.so.6(CXXABI_1.3.8)(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

原因

旧版本MySQL卸载不干净,Yum缓存没有清空

解决办法

  • 移除所有mysql开头的包

    1
    2
    3
    # yum list installed | grep mysql
    # yum remove mysql-community-common
    ...
  • 清除yum缓存

    1
    2
    yum clean all

  • 删除mysql遗留文件(请做此动作前备份数据)

    1
    rm -R /var/cache/yum/x86_64/7/mysql*
  • 从mysql官网上获取community版本最新的yum repository并安装

  • 安装mysql-community-server

    1
    yum -y install mysql-community-server --nogpgcheck

如果安装过程中出现报错Public key for mysql-community-icu-data-files-8.0.29-1.el7.x86_64.rpm is not installed

image-20220712203138433

请看步骤2.2

2.2 导入新的MySQL存储库的GPG秘钥

出现步骤2.2原因为官方 MySQL 存储库的 GPG 密钥已过期,无法安装或更新 MySQL 包。

并且官方也提交了该Bug https://bugs.mysql.com/bug.php?id=106188

我们可以使用以下命令重新导入新的密钥来解决该问题

1
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

执行完后再使用步骤2.1中命令来安装即可

image-20220712204009052

2.3 安装完成

若出现以下提示则表示安装完成

image-20220712204114312

3. 启动MySQL

3.1 启动MySQL服务

1
systemctl start  mysqld.service

3.2 查看MySQL服务状态

1
systemctl status  mysqld.service

注意上述命令为mysqld.service,不是mysql.service

若要检查MySQL是否为开机自启,可执行以下命令查看开机自启列表

1
systemctl list-unit-files|grep enabled

若MySQL未在开机自启列表,执行以下代码设置开机自启动

1
systemctl enable mysqld

3.3 停止MySQL服务

1
systemctl stop mysqld.service

3.4 重启MySQL服务

1
systemctl restart mysqld.service

4. 修改密码

4.1 查看默认密码

在Linux中安装MySQL不会在安装过程中让你设置密码,而是自动生成一个默认密码,并存储在日志文件中

可以使用以下命令查看默认密码

1
grep "password" /var/log/mysqld.log

image-20220712205501797

返回代码中冒号后即为默认密码,建议复制粘贴,因为在输入密码过程中并不显示,容易输错

4.2 修改密码

进入MySQL中后更改你的密码(MySQL在不更改默认密码的情况下无法操作数据库)

1
2
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'AAAbbb123@';

MySQL默认密码规范等级为MEDIUM,即需要满足密码长度大于8,包含数字、大写/小写和特殊字符

4.3 修改密码规范等级

image-20220712211211940

如果是仅做学习测试使用,不需要过于复杂的密码,可以通过修改密码规范等级来使用更简单的密码

前提仍是需要先设置一个符合MEDIUM要求的复杂密码,否则不允许操作数据库

1
2
set global validate_password.policy = 0;		#  设置密码规范等级为0
set global validate_password.length = 4; # 设置密码最短长度为4

成功后再次使用步骤4.2命令重设密码即可

5.远程访问

5.1 创建远程访问root用户

1
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

5.2 为该用户授予全部权限

1
grant all on *.* to 'root'@'%';

此处root用户名可随意更改

5.3 开放端口3306

如需修改端口 修改端口如下:

1
2
3
4
5
6
# 编辑my.cnf文件
[root@centosServer ~]# vi /etc/my.cnf

# 修改默认端口3306
[mysqld]
port=3309

Linux打开/关闭/查询/端口命令如下

1
2
3
4
5

firewall-cmd --permanent --add-port=3306/tcp #打开3306端口
firewall-cmd --permanent --remove-port=3306/tcp #关闭3306端口
firewall-cmd --reload #重载使上述命令生效
firewall-cmd --query-port=3306/tcp #查询3306端口是否开放

若嫌麻烦可以直接关闭防火墙,安全性自行评估

1
2
3
systemctl stop firewalld.service			   #关闭防火墙
firewall-cmd --zone=public --list-ports #查看防火墙所有开放的端口
firewall-cmd --state #查看防火墙状态

5.4 云端服务器开启端口参考

以腾讯云服务器为例

在控制台中选择防火墙,添加规则中应用类型下拉选择MySQL即可

image-20220712214410603

5.5 通过DataGrip远程访问

若为本地虚拟机中Linux,则在Linux中使用ifconfig查询内网ip地址,使用此ip在DataGrip上连接

若为云端服务器,则使用该服务器公网ip进行访问

image-20220712214940276

若测试连接无错误即可成功远程访问该数据库

redis安装

安装最新软件源

直接使用yum install redis命令安装的Redis可能不是最新版本,如果需要安装新版本则需要安装Remi的软件源,命令如下:

1
2
3
yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

其中数字7大概率是CentOS 7的版本,如果有错误欢迎指出。

安装软件

安装软件源之后就可以使用如下命令安装最新版本的Redis

1
2
yum --enablerepo=remi install redis

启动服务

安装完成之后即可启动服务,命令如下:

1
2
3
4
5
6
7
8
9
10
11
启动redis
systemctl start redis

查看Redis服务状态
systemctl status redis

查看Redis版本
redis-cli --version

设置开机自启动
systemctl enable redis

配置

允许远程连接
打开配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
vim /etc/redis.conf
// 修改以下内容
将bind 后 127.0.0.1 改为 内网IP # 为安全起见,请勿使用 0.0.0.0
protected-mode yes 改为 protected-mode no # 关闭保护模式
daemonize no 改为 daemonize yes # 开启守护进程
空白处添加 requirepass 123456 # 自行设置密码,例:123456
启动redis
redis-server /etc/redis.conf


开放6379端口:
firewall-cmd --zone=public --add-port=6379/tcp --permanent #开放6379端口
firewall-cmd --reload # 配置立即生效

curl安装

yum安装curl

1
2
yum -y install curl #下载安装curl
curl www.baidu.com #测试访问百度

win与linux免密传输文件

win配置

winscp下载安装

官方下载地址为:https://winscp.net/eng/download.php

Putty 免密登录

第一步 生成公钥/私钥对

使用 putty 安装目录中的 puttygen.exe 工具

点击 generate –> 随意移动鼠标来生成秘钥 –>将公钥部分复制备用 –> 点击 Save private key

img

img

img

第二步 将公钥添加到远程机器

将公钥添加到远程机器的 ~/.ssh/authorized_keys 文件 (追加到文件末尾即可)

img

linux配置

生成密钥

1
ssh-keygen -t rsa #生产成密钥 一路回车即可

授权

1
2
cd /root/.ssh  #ssh存放路径
vim authorized_keys #把远程客户端生成的公钥添加进来 或者追加进来

测试

1
2
pscp -r -i C:\\Users\\bianshujun\\.ssh\\private-key.ppk -P 22 D:\\code\\control-api\\target\\control-0.0.1-SNAPSHOT.jar  root@8.218.40.205:/usr/dev/control-api
#-r 覆盖 -i 携带生成的私钥ppk -p指定端口 本地主机目录 远程主机目录

脚本编写

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
int=1
OLD_IFS="$IFS"
IFS=" "
while(( $int<=5 ))
do
echo '-----------------------------------------------------------------------'
echo '输入 1 到 4 之间的数字:'
echo '1. 部署机器人API'
echo '2. 部署机器人Admin'
echo '3. 部署机器人Front'
echo '4. 部署钱包API'
echo '5.退出'
echo '-----------------------------------------------------------------------'
echo '你输入的数字为:'
read aNum
array=($aNum)
for var in ${array[@]}
do
echo "-------"$var
case $var in
1) echo '1.部署机器人API'
cd D:\\code\\control-api
mvn clean package
pscp -r -i C:\\Users\\bianshujun\\.ssh\\private-key.ppk -P 10582 D:\\code\\control-api\\target\\control-0.0.1-SNAPSHOT.jar root@47.243.71.213:/usr/src/dev/control-api
ssh -p 10582 root@47.243.71.213 "/usr/src/dev/control-api/admin.sh restart"
echo "部署机器人 finishe."
;;
2) echo '2.部署机器人Admin'
cd D:\\code\\control-admin\\ruoyi-admin
mvn clean package
pscp -r -i C:\\Users\\bianshujun\\.ssh\\private-key.ppk -P 10582 D:\\code\\control-admin\\ruoyi-admin\\target\\ruoyi-admin.jar root@47.243.71.213:/usr/src/dev/control-admin
ssh -p 10582 root@47.243.71.213 "/usr/src/dev/control-admin/admin.sh restart"
echo "部署机器人Admin finishe."
;;
3) echo '3.部署机器人Front'
cd D:\\code\\ruoyi-ui
npm run build:stage
pscp -r -i C:\\Users\\bianshujun\\.ssh\\private-key.ppk -P 10582 D:\\code\\ruoyi-ui\\dist root@47.243.71.213:/usr/src/dev/control-front
echo "部署机器人Front finishe."
;;
4) echo '4.部署钱包API'
cd D:\\code\\tronpay
mvn clean package
pscp -r -i C:\\Users\\bianshujun\\.ssh\\private-key.ppk -P 10582 D:\\code\\tronpay\\target\\tronpay-0.0.1-SNAPSHOT.jar root@47.243.71.213:/usr/src/dev/tronpay
ssh -p 10582 root@47.243.71.213 "/usr/src/dev/tronpay/admin.sh restart"
echo "钱包API finishe."
;;
5) echo '你选择了 4.退出'
exit
;;
*) echo '错误:'$aNum
;;
esac
done
done

exec /bin/bash