Springboot 项目的服务器部署与发布

Springboot 项目的服务器部署与发布


本文旨在记录第一次将Springboot项目部署到服务器并发布的过程、遇到的问题及解决办法。

一、在IDEA中将项目打包

设置访问端口号

在application.yml这个文件中加入(端口多少由自己设置)
在这里插入图片描述

利用idea打包

右侧边栏中点击Maven,打开lifecycle,找到其中的package选项,双击。
当看到BUILD SUCCESS说明已经打包成功了。
jar包保存在项目target文件夹中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、 连接服务器

租用云服务器

市面上有许许多多的服务器,可自行选择。这里以Google cloud云服务器为例介绍。

1、访问 Google cloud 官网 https://cloud.google.com/,点击右上角“Start Free”按钮。

在这里插入图片描述

2、登录谷歌帐号

使用谷歌帐号登录,没有的话注册一个。
2019年,国家/地区选项栏已取消了“中国”选项,这里我们可以随便选一个,比如香港或者台湾。
在这里插入图片描述

3、填写注册信息

填写注册信息,包括姓名、地址、联系方式等。
绑定支持双币个人信用卡,会扣除1美元作为卡验证费用,验证通过后会原路返还。
在这里插入图片描述

4、完成注册

填写完上述资料后,点击“START MY FREE TRIAL”按钮,便提示已成功注册。获得 300 美元的赠金,一年内有效,而且承诺如果赠金用完,不会主动扣费。
在这里插入图片描述

创建VM实例

1、选择 “Computer Engine”

点击菜单中的 Compute Engine,或者直接点击热门产品栏中的“Compute Engine”
在这里插入图片描述

2、选择创建 VM 实例

点击创建按钮,来创建一个 VM 实例。
在这里插入图片描述

3、填写机器配置

填写名称,选择区域,机器类型等内容,右侧会显示每月的费用,注意累计费用不要超出赠金总额。这里选择了 1 个共享 vCPU + 1.7 GB 内存。
在这里插入图片描述

4、启动磁盘

选择启动磁盘,可以修改磁盘大小和类型,还可以选择操作系统。
在这里插入图片描述

5、填写网络接口信息

填写网络接口信息,外部 IP 选择固定 IP。
在这里插入图片描述

6、完成创建

确认机器配置信息后,点击创建按钮完成 VM 实例的创建。
在这里插入图片描述

防火墙配置

1、选择“查看网络详情”

点击实例信息右侧的更多图标,选择“查看网络详情”。
在这里插入图片描述

2、创建防火墙规则

点击“防火墙规则”,选择“创建防火墙规则”。
在这里插入图片描述

3、完成创建

创建防火墙规则,需要注意的是,目标一栏选择“网络中的所有实例”,不然外网无法访问。
在这里插入图片描述

三、通过xshell远程连接服务器

进入xshell官网

xshell官网地址 :

	https://www.xshell.com/zh/xshell/
1、点击下载

在这里插入图片描述

2、选择免费授权页面

在这里插入图片描述

3、下载XSHELL

在这里插入图片描述

连接服务器

方法一:手动配置

点击左上角文件下方的绿色按钮新建会话,弹出如下窗口。

  • 名称——会话名称
  • 协议——ssh连接选择协议
  • 主机——要连接的服务器ip
  • 端口号——要连接的服务器端口
  • 确定——确定建立新会话

在这里插入图片描述

方法二:命令行输入

在命令行中输入:

ssh root@IP号:端口号

在这里插入图片描述

四、在linux服务器安装环境

上传jar包

1、首先需要熟悉一下linux的命令:

Linux命令速查表:https://quickref.cn/docs/linux-command.html

2、输入命令ls展示当前目录下文件

在这里插入图片描述
什么都没显示说明当前目录为空

3、使用mkdir命令创建目录

在这里插入图片描述
若出现以下情况,说明用户权限不够,需要添加权限或者使用root登录
在这里插入图片描述
添加用户添加权限方法:

  • 首先进入root用户,打开终端

  • 新建用户并创建家目录

      sudo useradd -d /home/xpt -m xpt 
    
  • 更改为bash命令

      sudo usermod -s /bin/bash xpt
    
  • 设置密码

      sudo passwd xpt
    
  • 设置sudo权限

      sudo chmod u+w /etc/sudoers
      sudo vi /etc/sudoers
    
4、cd命令进入目录

在这里插入图片描述

5、使用rz命令上传jar包

弹出打开窗口,找到项目中的target目录,找到jar包并选择打开

在这里插入图片描述
在这里插入图片描述
上传完毕后使用 ls 命令,jar包已成功上传。

在这里插入图片描述
(在上传过程中可能出现如下报错:)

在这里插入图片描述
(出现乱码、连接断开,并且无法通过命令行输入重新连接)

在这里插入图片描述

失败原因:

经过查阅资料,有可能是因为windows的文件带有一些特殊字符,编码方式不同,导致传输失败。

解决方法:

重新打开会话重新连接服务器,并使用rz -be 命令

安装JDK

错误方法:

将windows系统中的JDK压缩并通过rz命令上传至linux服务器,通过zip命令解压JDK,并配置环境变量。

结果:

无法使用

正确方法:
1、进入官网下载

官网 - 历史版本下载地址:https://www.oracle.com/java/technologies/downloads/archive/

在这里插入图片描述
选择一款JDK后,选择x86Linux系统的版本下载

在这里插入图片描述

2、将JDK上传至Linux服务器

使用mkdir命令创建一个java目录

mkdir java

使用cd命令进入java目录

cd java

使用rz命令上传JDK压缩包

rz

在这里插入图片描述

使用tar -zxvf命令解压JDK压缩包

tar -zxvf jdk-20.0.2_linux-x64_bin.tar.gz  

在这里插入图片描述
压缩完成后会出现新的文件夹

在这里插入图片描述

配置环境变量

1、配置profile文件

通过vi命令打开/etc/profile文件

在这里插入图片描述

在这里插入图片描述
点击键盘中的INSERT按钮,进入编辑。
在文件的最后加上以下代码:

export JAVA_HOME=/home/wrz/java/jdk-20.0.2
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

(注意第一句 export JAVA_HOME=/home/wrz/java/jdk-20.0.2是自己的jdk的路径)

按下ESC退出编辑模式,输入:wq! 保存并退出

报错:
在这里插入图片描述
原因:权限不足
解决方法:使用sudo语句或使用root账号登录

(输入密码时不会显示)
在这里插入图片描述
在这里插入图片描述
编辑完路径后使用wq!保存并退出。

2、重新加载配置文件

使用source命令

source /etc/profile 

在这里插入图片描述
java -version 命令可使用,路径配置完成。

五、 运行项目

nohup命令:

用途:

不挂断地运行命令。

语法:
nohup Command [ Arg … ] [ & ]

无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。

退出状态:

该命令返回下列出口值:   
  126 可以查找但不能调用 Command 参数指定的命令。   
  127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。   
  否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。

&命令

用途:

在后台运行

nohup command &  

通过nohup和&命令可以实现项目在服务器后台一直挂载运行

1、使用nohup命令运行jar包
nohup java -jar Bolg-0.0.1-SNAPSHOT.jar &   

在这里插入图片描述

2、查看项目日志
tail -500f nohup.out  

在这里插入图片描述

3、查看进程

使用语句

	ps -ef  

在这里插入图片描述
至此,项目已在服务器端运行。