我的编程空间,编程开发者的网络收藏夹
学习永远不晚

spring boot项目部署到ubuntu服务器详细教程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

spring boot项目部署到ubuntu服务器详细教程

1.准备

IDEA;

开发好的SpringBoot项目;

Ubuntu服务器;

2.将项目打包,利用IDEA的打包功能,这里以jar文件为例

SpringBoot官方推荐打成jar包,服务器上有JDK 1.8以上环境就可以直接运行;

首先在pom.xml文件里面添加:

点击右侧的maven,如果右侧没有的话鼠标放在IDEA左下角进行添加,然后package;

      

 可以看到,打包完成后的jar文件放在了target目录里面;

 2.将打包好的jar文件上传到Ubuntu服务器

 3.如果Ubuntu上安装jdk,这里以jdk1.8为例

打卡终端,输入java会提示我们各个版本的安装方法,我们要装jdk1.8版本所以进行下面的操作;

apt install openjdk-8-jre-headless

 等待安装完成后查看版本;

java -version

4.安装MySQL

由于我的项目要导入的数据库中有rank表格,而rank是MySQL版本8.0.2中定义的MySQL保留字。因此,不能将rank用作列名和表名;

故我们选择更为稳定的mysql5.7版本,本文以5.7.31为例;

但是Ubuntu中全自动安装MySQL默认安装最高版本,想要安装5.7版本就需要去官网手动下载安装包解压安装,比较麻烦,所以我们可以在docker中安装mysql;

安装docker,可以使用官方安装脚本自动安装;

 curl -fsSL https://test.docker.com -o test-docker.sh sudo sh test-docker.sh

卸载docker;

sudo apt-get purge docker-ce#删除安装包sudo rm -rf /var/lib/docker#删除镜像、容器、配置文件等内容

在docker中安装mysql;

拉取指定5.7.31版本mysql的镜像;

sudo docker pull mysql:5.7.31

查看是否已经拉取到镜像;

docker images

 镜像拉取完成后,用该镜像创建mysql实例,使用下面的命令来创建;

docker run -p 3306:3306 --name mysql --restart=always --privileged=true \-v /usr/local/mysql/log:/var/log/mysql \-v /usr/local/mysql/data:/var/lib/mysql \-v /usr/local/mysql/conf:/etc/mysql \-e MYSQL_ROOT_PASSWORD=Chen -d mysql:5.7.31#-p 3306:3306:指定宿主机端口与容器端口映射关系#--name mysql:创建的容器名称#--restart=always:总是跟随docker启动#--privileged=true:获取宿主机root权限#-v /usr/local/mysql/log:/var/log/mysql:映射日志目录,宿主机:容器#-v /usr/local/mysql/data:/var/lib/mysql:映射数据目录,宿主机:容器#-v /usr/local/mysql/conf:/etc/mysql:映射配置目录,宿主机:容器#-e MYSQL_ROOT_PASSWORD=Chen:指定mysql环境变量,root用户的密码为Chen#-d mysql:latest:后台运行mysql容器,版本是5.7.31。

通过docker ps查看所有正在运行的容器,docker ps -a是查看所有容器,没在运行的也能看到;

现在我们将sql脚本文件拷贝到mysql容器内部的home下的temp文件内,不然的话在容器内读取不到sql脚本;

sudo docker cp /home/chen/exam_system.sql 57d6500d91df:/home/#其中57d6500d91df是MySQL容器的id

 进入容器;

docker exec -it mysql /bin/bash

登录mysql;

mysql -u root -pChen

创建数据库;

create database exam_system;

查看所有数据库;

show databases; 

可以看到刚刚创建的数据库已经有了,切换到对应的数据库下;

use exam_system;

运行如下命令执行存放在mysql容器内的SQL文件;

source /home/exam_system.sql;

查看数据库中的表格;

show tables;

数据库中的表格均导入完成; 

退出数据库;退出容器;

exit;exit

5.安装redis

使用命令进行安装;

sudo apt-get install redis-server

6.运行jar包

 在Ubuntu中打开jar包编辑/BOOT-INF/classes/内的配置文件application.yml修改数据库配置;

因为我们使用的是docker中的数据库注意url中的localhost改为docker的地址,此处为172.17.0.1;

接着可以直接java -jar exam-admin-0.0.1-SNAPSHOT.jar运行;

此时访问我们设置的端口就能访问到了;

但是上述方法在命令窗口关闭时,服务进程就被杀死了,即服务不存在;

如果想要在关闭窗口后服务仍在后台运行,可以nohup;

nohup java -jar exam-admin-0.0.1-SNAPSHOT.jar >temp.txt 2>&1&#nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行#这种方法会把日志文件输入到你指定的文件中(temp.txt)#在哪个目录下运行的该日志文件就会在哪个目录下,没有指定具体文件则会自动创建(nohup.out)#& 表示后台运行

运行过程中出现的问题可以在temp.txt文件中查看;

前面我们提到更改数据库的配置文件,如果修改后在运行过程中依然出现报错:SpringBoot SpringCloud项目启动mysql报错Access denied for user ‘root‘@‘172.17.0.1‘ (using password: YES)

那么我们需要进入mysql,配置mysql允许远程连接;

mysql -uroot -pChen#登陆mysql,输入密码grant all privileges on *.* to 'root'@'%' identified by 'Chen' with grant option;#开启root用户远程访问权限,登录名为root 密码为Chen(注意用户密码都需要单引号)flush privileges;#刷新权限

运行成功后,输入jobs会列出在后台执行的作业;

 查看某端口占用的线程的pid;

netstat -nlp |grep :8888

关闭进程;

kill pid

来源地址:https://blog.csdn.net/weixin_44086476/article/details/129974531

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

spring boot项目部署到ubuntu服务器详细教程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vue项目打包并部署到Linux服务器的详细过程

我们在会开发项目的同时,也应该了解一下项目是如何部署到服务器的,下面这篇文章主要给大家介绍了关于vue项目打包并部署到Linux服务器的相关资料,需要的朋友可以参考下
2023-01-31

SpringBoot + Vue 项目部署上线到Linux 服务器的教程详解

前言 给大家分享以下我是如何部署 SpringBoot + Vue 前后端分离的项目的,我用的 Linux 发行版是 CentOS7.5 有了一个基于 ElementUI 的电商后台管理系统,在开发一个相似的后台就会轻松很多。不过前面的系统
2022-06-03

前端项目部署,阿里云服务器部署前端项目,超详细

需求背景:作为一个前端,特别身处于中小公司时,对于部署也需要有所了解。本次就介绍前端基础的项目部署。本次使用的是阿里云服务器进行的部署 部署核心步骤 1.准备打包好的前端代码(dist包)或者是一个html文件 2.购买阿里云服务器,并且连
2023-08-25

腾讯云服务器部署maven前后端分离项目详细教程

腾讯云服务器部署maven前后端分离项目的详细教程如下:在本文的教程中,将介绍如何在腾讯云服务器上进行简单的部署和安装。我们将使用maven,这是一个用于构建和运行应用程序的框架,并且提供了一些用于管理和监控项目的工具。您需要先安装maven,并在"命令行"上运行它:maven-p--install-path='example-server'在本文的教程中,我们将使用maven中
2023-10-26

详解Node项目部署到云服务器上

本篇介绍了Node项目部署到云服务器上,小编觉得不错,分享给大家,具体如下: Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用来方便地搭建快速的易于扩展的网络应用。Node.js 使用了一个事件驱动
2022-06-04

Node项目部署到阿里云服务器的详细操作指南

本篇教程将详细说明如何将Node项目部署到阿里云服务器。我们将会首先创建阿里云服务器,然后安装Node.js和npm,最后将项目代码上传到服务器,实现项目的部署。一、创建阿里云服务器首先,你需要在阿里云的官网注册并登录你的账户,然后点击“产品与服务”->“服务器”->“ECS实例”来创建一个新的ECS实例。在实例
Node项目部署到阿里云服务器的详细操作指南
2023-11-22

Docker中部署Redis集群与部署微服务项目的详细过程

目录一、使用docker部署的好处二、Docker 与 Kubernetes 对比三、Redis集群部署实战四、Spring Boot项目 打包镜像⛵小结一、使用Docker部署的好处Docker的好处在于:在不同实例上运行相同的容器
2022-06-23

SpringBoot前后端分离项目,打包、部署到服务器详细图文流程

文章目录 实施步骤一、修改配置文件地址1.修改MySQL配置2.修改Redis配置3.修改日志路径和字符集配置 二、将源码压缩并上传服务器1.上传前端文件2.上传后端文件(同上) 三、前端项目打包1.安装依赖2.项目打包
2023-08-18

普通的Python项目部署到阿里云服务器的详细步骤

本文将详细介绍如何将一个普通的Python项目部署到阿里云服务器上,包括选择合适的服务器类型、安装必要的软件和工具、配置虚拟环境以及运行和测试项目等。步骤一:选择服务器类型在部署Python项目之前,需要首先选择一个适合的服务器类型。阿里云提供了多种服务器类型供用户选择,例如云服务器ECS、云数据库RDS、对象存
普通的Python项目部署到阿里云服务器的详细步骤
2024-01-25

WIN10使用IIS部署ftp服务器详细教程

这篇文章主要为大家介绍了WIN10使用IIS部署ftp服务器详细教程,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2022-11-13

编程热搜

目录