Linux云服务部署Spring boot项目

Linux云服务部署Spring boot项目

背景:

之前经过两个周的时间,做了一个简单的博客网站,网址:点击进入,在本地可以正常使用以后,想着部署到服务器上,给大家伙看个乐呵,于是有了这篇部署文章。

简单介绍一下博客内容:

  1. 仿照小而美搭建的,前端模板也采用小而美实现。
  2. 技术点:springBoot+thymeleaf+mysql+Mybatis-plus(混合xml实现的)

该博客不会维护,作用是梳理前面的学习过的知识,增加记忆点。

话不多说,开始吧!

环境搭建:

为了不让项目产生版本兼容问题,统一使用的项目的版本安装。

包名 版本号
maven 3.6.3
jdk 9
mysql 最新版本(有坑)

所需要的工具:

  1. Xshell(Linux连接)
  2. Xftp(文件传输)
  3. navicat(数据库连接)
  4. Linux(云服务器) 新用户9块一个月。

这里就没有用云mysql.

部署过程:

项目打包:

  1. clear
  2. package

image-20210828162448130

打包成功的样例:

image-20210828162911980

上传到云服务器:

可以界面化上传的软件很多,自行选择。(个人:Xftp软件)

image-20210828163210619

image-20210828163358866

看图说话,如果之前有朋友部署过,应该很清楚,接下来解释下:

我分了两个包:

  1. javapro 放置jdk和系统的文件
  2. mvn 放置maven安装包

可以随时修改配置文件,使得项目生效。

解压命令:

tar -zxvf 包名

配置jdk以及maven环境:

进入jdk文件夹:

cd jdk-9.0.4/
[email protected]:~/javapro/jdk-9.0.4#  pwd
/root/javapro/jdk-9.0.4

同操作:

cd apache-maven-3.6.3/
[email protected]:~/mvn/apache-maven-3.6.3# pwd
/root/mvn/apache-maven-3.6.3

记住当前路径,输入:

vi /etc/profile

如下:

export JAVA_HOME=/root/javapro/jdk-9.0.4 ## 后面是目录的路径和软件链接 ,根据实际情况来写
export PATH=.:$JAVA_HOME/bin:$PATH
#mvn
export PATH=$PATH:/root/mvn/apache-maven-3.6.3/bin

仿照上面格式,填入自己的路径。

退出后,加载一下:

source /etc/profile

最后验证:

java -version
mvn -version

如下:

mvn -version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /root/mvn/apache-maven-3.6.3
Java version: 9.0.4, vendor: Oracle Corporation, runtime: /root/javapro/jdk-9.0.4
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.0-47-generic", arch: "amd64", family: "unix"
--------------------------------------------------------------------------------
java -version
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
[email protected]:~/mvn/apache-maven-3.6.3# 

安装MySQL实现远程访问:

之前MySQL的安装其实也写过,但是没想到折磨也在这里折磨的。

首先在线安装mysql,自己使用官网的安装包,下载到linux中解压报错,原来以为是包下错了,但是在网上找到的教程,还是没有解决,所以实现在线安装的。

如果有知道我这种错误的朋友,可以评论交流下。

这是我之前的写的在线安装的文章:链接

这里针对文章中的做一个补充和修改,该文章在MySQL安装上没什么问题,只是在权限认证上需要补充一下:

  1. 之前一直用mysql5版本进行远程授权登录,但是换mysql8.0原来的授权方式报错
  2. 版本5可以使用原来的文章进行配置,但是MySQL8不行,不能授权给自己了。

MySQL8权限验证解决方式:新增一个用户,远程连接到该用户上。

<br>mysql> create user 'xbhog'@'%' identified by 'xbhog';
Query OK, 0 rows affected (0.02 sec)
 
mysql>
mysql>
mysql> GRANT ALL PRIVILEGES ON *.* TO 'xbhog'@'%';
Query OK, 0 rows affected (0.04 sec)
 
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
 
mysql> ALTER USER 'xbhog'@'%' IDENTIFIED WITH mysql_native_password BY '对应自己的密码';
Query OK, 0 rows affected (0.02 sec)
 
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

使用Navicat连接需要更改下加密方式:

如果用Navicat连接的回报不支持caching_sha2_password验证方式的错误。
 
将远程访问用户的验证方式改为: msyql_native_password
 
执行:
 
ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
 
FLUSH PRIVILEGES;

image-20210828171045262

启动项目:

java -jar jar包名(Blog-0.0.1-SNAPSHOT.jar)

image-20210828171314016

后台运行:

nohup java -jar jar包名(Blog-0.0.1-SNAPSHOT.jar)

参考:

MySQL8问题

结束:

如果你看到这里或者正好对你有所帮助,希望能点个👍或者⭐感谢;

有错误的地方,欢迎在评论指出,作者看到会进行修改。