使用宝塔面板部署SpringBoot项目(jar包)到阿里云服务器(CentOS7)

<宝塔面板部署SpringBoot项目(jar包)到阿里云服务器(CentOS7)>


说明:
本次记录在自己阿里云服务器部署自己博客的记录笔记.为了后期查询资料方便记录有文本资料和视频资料在自己百度网盘中;因个人技术有限,对于一些介绍可能存在不当和错误之处.
作者:MrKay
文档资源地址:
链接:https://pan.baidu.com/s/1HuYTRXjTn5sX-GKoyHiM5g 提取码:g5ic


​ 1、博客说明:

​ 本次部署的是一个小的SpringBoot项目,是一个简单的个人博客,博客的相关静态资源是在B站上找的,基本内容也没有 进行什么大的修改,只是将博客使用的技术、框架、数据库设计、功能分析和实现思路进行了重点学习。

​ 2、前端:

​ semantic-ui 组件进行的页面构建 中文网:https://zijieke.com/semantic-ui/

​ jquery.js 组件等等

​ 3、后台:

​ SpringDataJPA

​ SpringBoot脚手架

​ 4、开发工具:

​ IDEA 、VSCode、Xshell6、SQLyog、Chrome浏览器 、Axure RP 8

1 阿里云服务器相关

1.1 购买服务器

  1. 阿里云官网 https://www.aliyun.com/
  2. 注册阿里云账号(自行注册)
  3. 阿里云购买教程 https://yq.aliyun.com/articles/699313
  4. 公网IP 私网IP

1.2 购买域名

  1. 进入阿里云官网 https://www.aliyun.com/
  2. 点击 “域名”
  3. 搜索你想要的域名进行购买;

1.3 备案

  1. 进入阿里云官网 https://www.aliyun.com/>
  2. 进入“控制台”
  3. 进入备案 阿里云域名首次备案教程 https://www.yunqikan.cn/2255.html

1.4 域名解析

  1. 域名已经备案完成
  2. 进入阿里云官网 https://www.aliyun.com/
  3. 进入控制台
  4. 点击左侧弹出栏中域名
  5. 点击解析添加记录按照步骤进行解析 域名解析网上教程很多我在网上随便找了一个教程:https://blog.csdn.net/qq_36135335/article/details/99548040 10min

1.5 安全策略(安全组)

  1. 登录阿里云
  2. 进入控制台
  3. 进入云服务器ECS
  4. 进入网络与安全-安全组
  5. 点击"配置规则"
  6. 点击"手动添加"

80/80 8080 /8080 888/888 8888/8888

2 宝塔面板相关

2.1 安装CentOS宝塔面板

  1. 远程连接个人阿里服务器
  2. 进入宝塔官网 www.bt.cn
  3. 进行下载
注意:下载完成会出现有下面这样一段内容:"(一定要先复制保存下来)"
==================================================================
Bt-Panel: http://公网ip:8888/随机安全入口
username: 随机用户名
password: 随机登录密码
Warning:
If you cannot access the panel, 
release the following port (8888|888|80|443|20|21) in the security group
==================================================================

2.2 面板相关设置

  1. 输入 http://公网ip:8888/随机安全入口

  2. 输入用户名和密码进行登录

  3. 进入首页弹窗推荐你安装相关软件(点击左侧栏中的推荐软件选择版本 点击极速安装进行安装) 需要安装很长一段时间…

  4. 点击面板设置:

    修改安全入口(不修改临时的就会过期不安全)格式如:/mrkay

    修改面板用户:自定义就行用于登录

    修改面板密码:自定义就行用于登录

    绑定宝塔账号(可绑定可不绑定)

注意事项:
//安装软件之前一定要确保你的阿里云服务器中之前没有安装过Mysql、tomcat等系统环境软件,如果安装了一定要卸载干净再进行安装宝塔推荐软件,否则会安装失败,后期相对麻烦。(如果嫌卸载麻烦一种暴力方式:云服务器系统重置  教程见第6章-其他教程)
1/弹窗中推荐的软件可以安装也可以不进行安装,因为后期你可以在软件商店中单独进行安装.
2/弹窗中的极速安装和编译安装区别主要是编译安装的相对稳定但是安装时间也会相对较长.
3//如果"phpMyAdmin"软件的版本是4.4以上安装的php版本最好是70以上也不要太高,因为太低了后期使			   用"phpMyAdmin"工具会出现问题;此工具是用来操作MySql的界面化工具,相当于SQLyog工具.
4//面板设置中的 安全入口、面板用户、面板密码 一定需要修改并且记录下来防止忘记
 8888 加入安全组放行   888放行

2.3 面板软件安装及环境配置

上面介绍了推荐软件的安装及面板相关设置之后这里还需要安装一些插件和其他软件以及java环境配置:

  1. 宝塔源码一键部署插件安装

  2. Java的JDK环境配置(这里可以采用偷懒方式)

    JDK环境是Java项目运行的基础,没有配置JDK环境Java项目是无法运行的。

    宝塔面板在我们安装tomcat的时候会默认并自动给我们安装一个JDK并配置环境,tomcat7默认安装jdk7

    tomcat8默认安装jdk8,所以我们可以直接安装tomcat即可。

  3. 安装完毕远程连接云服务器 键入 java -version 弹出相关信息证明JDK安装及配置完成

2.4 站点相关

2.4.1 添加站点

创建站点的目的是为了让我们访问 域名:端口 就能访问我们部署的项目;

  1. 进入宝塔面板
  2. 点击添加站点
  3. 输入已经解析过的域名:端口 如: www.baidu.com:8088 如果不加端口默认使用的是80端口,没有域名可以使用云服务器的公网ip:端口,如: 127.0.0.1:8088
  4. 添加备注(备注要见名知意 一般我们可以设置自己要部署的项目的名字)
  5. ftp 和数据库可以先不进行创建其他保持默认 (如果要创建要和你项目的数据库名保持一致)
2.4.2 站点设置

站点设置主要是对已经添加的站点进行相关配置(这里主要是进行反向代理的配置)

  1. 点击已经添加的站点最右侧的设置连接进入设置界面
  2. 点击反向代理
  3. 点击添加反向代理
  4. 代理名称社会为你的项目名称即可
  5. 目标URL就是访问公网IP/域名之后会被转发到服务器中可以访问的ip:端口(这里我们使用127.0.0.1:端口即可,端口是80可以省略不写)其他保持默认,点击保存即可.

2.5 数据库相关

2.5.1 创建数据库

创建数据库是为了项目正常运行和效果数据展示做准备:

  1. 进入宝面板

  2. 点击 数据库–root密码 对root用户的密码进行修改

    注意:一般修改为一个你项目中配置文件比较常用的密码就行

  3. 点击添加数据库

    注意:这里的数据库名要和你项目中数据库名字一样就行(比如你项目中访问的数据库名字的blog 这里就写blog)

    用户名一般也设置为你数据库名字就行,密码设置为root密码就行(为了方便记忆)

  4. 其他保持默认点击提交.数据库就创建完成

2.5.2 导入数据库表

数据库创建完成,接下来就是向云数据库中导入数据即可.

  1. 将你window本地中的数据库导出为.sql文件保存到桌面上.
  2. 进入宝塔面板–数据库–管理
  3. 就桌面生成的sql导入即可.
//注意事项:
1,点击数据库管理连接或者PhpMyAdmin 页面打不开,可能原因有:PHP版本过低、PhpMyAdmin中设置的版本和PHP的版本不一致、888端口没有放行;(解决方案更新PHP版本为7.0以后版本、设置PhpMyAdmin版本和PHP版本一致、面板和云服务器都放行888端口、"如果以上方法都没有解决就直接卸载nginx重新安装,因为nginx的配置文件中有对PhpMyAdmin端口等信息的相关记录,当然你也可以选择修改,为了简单我是选择的重新安装nginx"

3 SpringBoot项目打包

3.1 配置文件修改

在打包SpringBoot的项目之前需要先对application.yml/application.properties文件进行修改

具体修改如下:

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    # 面板中mysql的端口没有修改这里就不需要修改,IP也是用localhost因为此配置文要进行上传,blog要和你面板中创建的数据库名保持一致
    url: jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf-8
    username: root  # 宝塔面板中roo用户,一般为root
    password: ******  # 数据库中你设置的root密码
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

logging:
  level:
    root: info
    com.lrm: debug
  file: log/blog-dev.log

# 设置application的端口  注意:端口要和你设置站点的端口保持一致
server:
  port: 80

3.2 maven插件打包项目

使用Maven插件打包项目为jar包

  1. pom文件中引入maven插件
  2. 进行打包
<plugins>
	<plugin>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-maven-plugin</artifactId>
		<configuration>
			<executable>true</executable>
		</configuration>
	</plugin>
</plugins>

4 宝塔面板上传项目相关

4.1 上传jar和配置文件

使用宝塔面板进行上传jar包和配置文件

  1. 进入宝塔面板
  2. 点击网站
  3. 点击站点的根目录,跳转到根目录文件夹
  4. 点击左上角的上传按钮上传jar包和yml文件

4.2 运行项目

运行项目无非就是进入到jar包所在的目录执行命令:

  1. 远程连接阿里云服务器
  2. 使用cd命令进入到jar包所在根目录
  3. 执行命令 java -jar 包名字.jar
  4. 项目启动并开始打印日志
  5. 浏览器地址栏输入 域名:端口(或者公网IP:端口)进行访问 80端口可以省略

注意: 如果你4.2步做完并成功访问到页面,恭喜你运气不错;

如果你没有成功说明你没有得到上帝的眷顾,你可能遇到的问题:

  1. 你使用得站点端口号是80 可能出现错误: 80端口已经被占用

5 项目遇到问题解决及优化

5.1 项目运行报错及解决

解决80端口占用问题:

一、第一种:通过命令获取出占用80端口的进程,将其"杀死"

netstat -lnp|grep 80   # 查看占用80端口的进程信息,主要看PID
ps [pid]  #根据PID查看进程的详细信息;
kill -9 [PID]  # 根据PID杀死进程
## 使用第一种方法处理完成之后重新启动项目,java -jar 项目名称.jar  
## 打印日志项目正常启动,访问,端口占用问题解决

二、第二种优化解决方式:

## 第一种方式存在弊端:当我们解决了端口占用问题之后再次点击数据库--管理(或者PhpMyAdmin)发现又出现了之前的问题2.5.2中提到的页面不存在问题
## 优化解决
1,查看占用80端口的进程
netstat -lnp|grep 80
ps [pid]
#查看详细信息占用80端口是Nginx的master也就是说是Nginx默认使用的端口是80端口,如果我们杀死了Nginx进程那么PhpMyAdmin就没办法访问,如果让Nginx占用80端口使用80端口的项目就没法正常运行和访问.
2,修改Nginx的默认端口
	2.1 宝塔面板中点击软件商店--已安装  找到Nginx点击设置--点击配置修改  我们发现在配置的最后一行有
	include /www/server/panel/vhost/nginx/*.conf; 这样一句话  (这句是引入Nginx的conf配置文件) 而这些配置文件就是记录的我们宝塔面板中使用到Nginx的相关配置.
	2.2 根据目录(/www/server/panel/vhost/nginx)找到相关的配置文件,打开编辑,修改所有80端口为其他没有占用的端口并放行,并在宝塔和云服务器安全组中放行该端口,面板中重启Nginx或者重新加载配置即可。
	## 上面2.2的步骤有点麻烦;我们还可以直接进行粗暴的优化处理:(不推荐)
	2.2 我们在2.1步骤中找到include /www/server/panel/vhost/nginx/*.conf;将此句直接注释掉变为
	"#include /www/server/panel/vhost/nginx/*.conf;"之后重启Nginx/重新加载配置即可.简单粗暴但是不推荐。(配置文件的定义都有自己的作用,注释掉之后该站点反向代理也将将失效,为了达到效果损失太多)
3,再次启动项目成功,访问PhpMyAdmin都能正常访问.

5.2 项目优化

5.2.1 项目运行优化

到此项目已经能够正常启动,但是仅限于在远程阿里云服务器的黑窗口没有断开,顿开远程连接,项目就不能正常运行了,输入域名就无法访问了; 解决方案:使用 screen 工具进行解决

  1. 远程连接云服务器
  2. 安装screen 执行命令----> yum install screen
  3. 为你的项目建立会话 执行命令----> screen -S 项目名
  4. 查看显示所有会话 执行命令----> screen -ls # 主要看会话名之前的进程号
  5. 进入创建的会话 执行命令----> screen -r [线程号] # 这也可写 [项目]
  6. 进入到jar包所在根目录
  7. 重新执行java -jar 包名.jar
  8. ctrl + a +d 退出会话 一样能访问
  9. 补充一下 停掉项目: 进入会话 ---- 快捷键 ctrl + c ---- 键入exit 退出即可
  10. 停掉项目: 直接杀死会话进程 — 清理会话进程 就能停掉项目了

其他相关命令:

  1. 杀死指定会话进程 执行命令----> kill -9 [进程号]
  2. 自动清理死去的进程 执行命令----> screen -wipe

更多相关命令>> https://www.runoob.com/linux/linux-comm-screen.html

6 其他教程

6.1云服务器系统重置

注意:
重置云服务器系统是很危险的事情,仅限于个人开发学习时使用即可,在重置之前请先将重要数据进行备份保存.

步骤:

  1. 进入阿里云官网登录用户
  2. 进入控制台
  3. 点击左侧弹出栏中的 “实例与镜像”–“实例”
  4. 选中自己的实例点击"更多"–“实例状态”–“停止”
  5. 选中自己的实例点击"更多"—“磁盘和镜像”–“更换操作系统”
  6. 选择新的操作系统或者镜像类型重新安装即可.

参考链接:https://www.vpsss.net/7777.html

7 结束语

本次录制仅供个人学习记录,还有很多不足甚至错误有待完善和改正。

参考链接:

https://www.fanmingming.com/article/bt-nginx-reverse-proxy.html

https://cangshui.net/3220.html

https://blog.csdn.net/hejunqing14/article/details/50338161

8 Apache解决80端口创建站点找不到站点问题。(2020-05-10补充)

经过上面步骤之后已经能够实现项目的正常运行,但是后期为了做视频资料我将站点全部删除,进行了重新部署,之后80端口出现了问题,站点创建成功,但是访问时却弹出找不到站点错误提示。具体原因分析如下:CDN缓存除、域名解析错误、域名设置错误。但是经过检查这些错误都已经排除,还是没有解决问题。

最终解决方案:

卸载Nginx安装Apache,这里我使用了Apache来写作为web服务器来接收用户请求,原站点域名和端口不变。再次访问域名提示创建站点成功,

但是需要解决的是Apache的配置文件要进行修改:

Listen 81 # 将此端口改为80端口之外端口并放行

  • 20
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你可以按照以下步骤在阿里云服务器使用宝塔面板部署Spring Boot项目: 1. 登录阿里云服务器并安装宝塔面板。 - 可以参考宝塔官方文档安装宝塔面板:https://www.bt.cn/bbs/thread-19302-1-1.html 2. 在宝塔面板中创建网站。 - 在宝塔面板中,点击左侧菜单的网站,然后点击“添加站点”按钮。 - 输入网站域名和路径,并选择适当的PHP版本。 - 点击“添加站点”按钮完成网站创建。 3. 配置域名解析。 - 在域名的DNS管理平台上,添加一条A记录,将域名指向你的阿里云服务器的IP地址。 4. 配置数据库。 - 在宝塔面板中,点击左侧菜单的数据库,然后点击“添加数据库”按钮。 - 输入数据库名称、用户名和密码,并选择合适的字符集和排序规则。 - 点击“创建”按钮完成数据库创建。 5. 上传Spring Boot项目文件。 - 在宝塔面板中,点击左侧菜单的文件,然后进入网站根目录。 - 点击“上传文件”按钮,选择你的Spring Boot项目文件并上传到网站根目录。 6. 配置Nginx反向代理。 - 在宝塔面板中,点击左侧菜单的网站,然后点击你的网站域名进入网站设置。 - 在“反向代理”选项卡中,点击“添加反向代理”按钮。 - 输入反向代理的目标URL(如http://localhost:8080)和域名。 - 点击“添加”按钮完成反向代理配置。 7. 部署Spring Boot项目。 - 在宝塔面板中,点击左侧菜单的网站,然后点击你的网站域名进入网站设置。 - 在“应用管理”选项卡中,点击“添加应用”按钮。 - 选择“Java”作为应用类型,并填写相应的参数(如应用名称、JDK路径、JAR路径等)。 - 点击“保存”按钮完成应用配置。 8. 启动Spring Boot项目。 - 在宝塔面板中,点击左侧菜单的应用,然后点击你的应用名称进入应用管理页面。 - 点击“启动”按钮启动你的Spring Boot项目。 通过以上步骤,你就可以在阿里云服务器使用宝塔面板成功部署Spring Boot项目了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liu.kai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值