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
至此,项目已在服务器端运行。