腾讯云Linux 部署SpringBoot + Mysql

618 阅读3分钟

MySQL的安装:

dev.mysql.com/downloads/r…

image.png

大致流程看:(实际操作少许不同)developers.weixin.qq.com/community/d…

设置root账户密码

腾讯云后台打开mysql3306端口

打开对外端口,就可以外网访问。如果只需要内网访问,可以关上外网3306端口。就只能内网访问。当然也可以在mysql配置文件中设置其他端口号。

查看mysql是否在进程中

ps -ef | grep mysql

image.png


设置mysql 开机启动

该文件会在linux系统各项服务都启动完毕后再被运行,可以将mysql启动脚本路径加到该文件里 给与权限

chmod +x /etc/rc.d/rc.local

/root目录下新建mysql_start.sh脚本文件启动mysql:

image.png

赋予mysql_start.sh权限:

chmod +x mysql_start.sh

编辑/etc/rc.d/rc.local文件,将mysql_start.sh脚本文件路径加入其中: vi /etc/rc.d/rc.local

/root/mysql_start.sh

然后在终端输入reboot或者在腾讯云网页控制台重启linux

JDK的安装:

首先需要知道腾讯云Linux服务器是ARM还是X64架构:
使用如下命令:

uname -a
Linux VM-16-14-centos 4.18.0-193.28.1.el8_2.x86_64 #1 SMP Thu Oct 22 00:20:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

可知是64位架构,需要下载X64版本的Linux JDK

上传下载好的JDK到服务器
服务器安装JDK:

rpm -ivh jdk-11.0.15_linux-x64_bin.rpm

安装完成后,验证是否安装成功:

java --version

输出:

java 11.0.15 2022-04-19 LTS

Java(TM) SE Runtime Environment 18.9 (build 11.0.15+8-LTS-149)

Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.15+8-LTS-149, mixed mode)

似乎并不需要配置java环境变量,在服务器任何目录下都可以直接使用java命令。

SpringBoot程序打包

在pom.xml中,使用spring-boot-maven-plugin进行打包,fileName可以指定项目名称

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
    <finalName>xxxxxxx</finalName>
</build>

随后直接使用Maven自带的Package命令,打包程序。在target目录下变能看到我们打包的jar文件(自带包含了Tomcat)。

image.png

jar.original是程序本身打包后的文件,不包含任何依赖的第三方库。而另一个.jar文件便是项目完整的jar包,也是我们所需要的。
在服务器上新建一个文件夹,存放上传的jar包。

mkdir xxx

运行jar包:

nohup java -jar ImageEnhancer-Backend.jar >log.file 2>&1

nohup保证jar包程序以进程的方式常驻,并不会因为关闭控制台服务停止。 nohup的理解:blog.csdn.net/yanJunit/ar…

查看jar包程序的进程号:

ps -ef|grep ImageEnhancer-Backend.jar

image.png

可以看到1529370便是其进程号,也可以通过

ps -A

查看服务器上的所有进程:

image.png

关闭服务,可以用强制杀死进程的方式。

kill -9 pid进程号

TODO:

  1. jar包程序同样需要开机自启动(腾讯云挂掉或者自己的服务器实例重启)
  2. 需要一个监控脚本,定时监控,当jar包程序挂掉后,自动重启该程序

Linux相关命令

查看当前目录

pwd

查看端口号使用情况

# netstat -anlp | grep 端口号

注意:
腾讯云,只打开默认的80端口,如果Tomcat需要配置8080端口,需要在腾讯云控制台配置。才能对外提供服务!