手动将Java SpringBoot项目部署到云服务器上(使用docker)

这篇具有很好参考价值的文章主要介绍了手动将Java SpringBoot项目部署到云服务器上(使用docker)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本文记录一下我作为一个小白如何通过docker手动将java springboot项目部署到云服务器上(以腾讯云的轻量应用服务器为例)。但是我个人还是推荐安装一个宝塔面板部署,真的全程自动化,非常方便,网上有很多相关的教程可以搜搜看。所以我写这个教程其实只想记录一下我第一次部署云服务器的过程,并不是最好的部署方案,主要目的还是为了完成某个课程设计的部署任务,不能保证安全性!(因为我第一次部署后就因为密码太简单导致数据库被攻击了。。。)所以对于大型项目可能不太适合。

由于我对运维方面也不是特别了解,如有错误欢迎指出!

1.云服务器

可以到阿里云/腾讯云等服务商的官网购买云服务器,新注册的用户可以找到免费试用,一般都有几个月的免费试用期。

我这里选择了腾讯云的轻量应用服务器,具体配置视情况而定。

java代码springboot项目能用docker部署吗?,服务器,运维

创建实例,操作系统为 CentOS 7.9 64bit

java代码springboot项目能用docker部署吗?,服务器,运维

然后到控制台界面进入实例,登录

java代码springboot项目能用docker部署吗?,服务器,运维

第一次登录貌似是没有自己设置的密码的,所以登录前需要重置密码(在上面那个登录键的旁边)

那么初始密码是什么?找到最上面一栏的小信封,有一个提示服务器创建成功的信息,点开里面就可以看到初始密码了

java代码springboot项目能用docker部署吗?,服务器,运维

重置密码后,点击登录,进入远程登录的控制台面板,之后docker部署什么的都在这里完成

java代码springboot项目能用docker部署吗?,服务器,运维

2.安装docker

云服务器 搭建 Docker-最佳实践-文档中心-腾讯云 (tencent.com)这个链接里有详细的教程,按照里面的命令复制粘贴就可以了。这里有一个小小的坑,要注意操作系统CentOS的版本,如果是7.X的要切换一下,8.X的命令是行不通的!

java代码springboot项目能用docker部署吗?,服务器,运维

安装好了就会得到镜像名(一串字符)

java代码springboot项目能用docker部署吗?,服务器,运维

3.部署项目

接下来就可以进入到项目的部署了。部署之前要搞清楚一件事,就是想要部署的Java项目配置了哪些工具(?或者是说中间件,可以在项目的配置文件里查看),那么就在docker上部署相应的工具。比如我要部署的这个项目使用到了MySQL、Redis,那么我在docker上部署这两个就可以了。

3.1安装jdk

既然要在云服务上运行Java项目,那么jdk肯定是少不了的。需要在本地下载好Linux的系统的jdk,jdk版本最好选择和本地电脑上版本一致的,我用的是jdk16.0.2

Oracle官网:Oracle | Cloud Applications and Cloud Platform

linux jdk16下载地址:Java Archive Downloads - Java SE 16 (oracle.com)
 

下载后需要把本地的jdk压缩包传输到云服务器上,所以需要下载文件传输的工具,例如FileZilla(也可以用XShell6与XFtp6什么的,反正能远程传文件就行了)

文件->站点管理器->新站点

java代码springboot项目能用docker部署吗?,服务器,运维

填写主机ip,协议选择SFTP,用户密码写之前自己设置的,点击连接显示连接成功就可以传文件了(超时的话可以检查有没有写错或者电脑换一个网络)

java代码springboot项目能用docker部署吗?,服务器,运维

为了使服务器上的文件有条理,先在命令行里新建文件夹用来放置jdk相关的文件

mkdir java
cd java
mkdir jdk
cd jdk

filezilla远程站点进入到该路径下,左边本地站点找到刚才下载的jdk压缩包右键上传

java代码springboot项目能用docker部署吗?,服务器,运维

回到命令行ls查看就可以看到里面有一个压缩包了,解压压缩包

tar -zxvf 压缩包名字.tar.gz

解压后

java代码springboot项目能用docker部署吗?,服务器,运维

配置Java环境

vim /etc/bashrc

在文件的前面添加,注意jdk版本

export JAVA_HOME=/root/java/jdk/jdk-16.0.2(jdk版本) 
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

保存文件退出,执行以下命令刷新配置

source /etc/bashrc

查看java版本,成功输出版本内容就说明jdk配置成功了(失败的话检查是不是环境变量配置有误)

java代码springboot项目能用docker部署吗?,服务器,运维

3.2安装mysql并加载数据

事先要将本地数据库的数据导出为.sql文件,然后将文件传输到云服务器上

如果使用的是mysql workbench可以看这个文章教怎么导出.sql文件:

如何使用Mysql Workbench导出一整个sql文件,sql包? - 星朝 - 博客园 (cnblogs.com)

然后使用和刚才传jdk压缩包一样的方法,传.sql文件(我放在了/java/dumps/文件夹下)

java代码springboot项目能用docker部署吗?,服务器,运维

启动docker,拉取MySQL8.0镜像

systemctl start docker
docker pull mysql:8.0
上面那条下不了可以用这个国内的镜像网站:
docker pull daocloud.io/library/mysql:8.0

创建容器(我设置的密码是root,一定要把密码设置得复杂一些!

docker run \
--name mysql \
-p 3306:3306 \
--restart=always \
-e MYSQL_ROOT_PASSWORD=root \
-v /var/lib/mysql/:/var/lib/mysql/ \
-d mysql:8.0 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci

java代码springboot项目能用docker部署吗?,服务器,运维

进入mysql容器,登录数据库

docker exec -it mysql /bin/bash
mysql -uroot -proot

显示这样的就是成功了

java代码springboot项目能用docker部署吗?,服务器,运维

quit命令退出来,复制.sql文件到容器内(注意这里文件名)

docker cp *.sql mysql:/home  

再次进入容器,进入刚才复制的路径/home,进入数据库

docker exec -it mysql /bin/bash 进入容器
cd home 进入复制的路径
mysql -uroot -proot 进入数据库

创建一个新的数据库,将sql文件导入

create database 数据库名
use 数据库名
source sql文件名.sql   导入sql文件

java代码springboot项目能用docker部署吗?,服务器,运维

4.安装Redis

创建redis容器

docker pull redis
docker run -d --name redis --restart=always -p 6379:6379 redis --requirepass "yourpassword"

如果pull的时候出现Timeout错误,可以看看我写的另一篇文章:docker pull redis出现错误Timeout exceeded while awaiting headers解决-CSDN博客

docker ps可以看到redis就说明创建成功了

java代码springboot项目能用docker部署吗?,服务器,运维

5.打包Jar包

修改配置文件中的IP地址以及各种密码,在IDEA的右侧栏点开Maven项

划掉test,然后先clean,后package

java代码springboot项目能用docker部署吗?,服务器,运维

这样就是打包好了

java代码springboot项目能用docker部署吗?,服务器,运维

在文件夹中找到jar包,使用相同的方法传jar包到服务器上

服务器上,进入到jar所在的目录下,输入命令

java -jar 你的jar包名.jar

启动成功

java代码springboot项目能用docker部署吗?,服务器,运维

别忘了防火墙添加端口(这里还有添加项目的端口,我没有截到)

java代码springboot项目能用docker部署吗?,服务器,运维

然后就可以通过服务器IP+端口访问了!

但是这样的话如果这个进程关闭就访问不了,所以需要使项目永久运行:

nohup java -jar 你的jar包名.jar > system.log 2>&1 &

这样就完成部署了,感谢观看!文章来源地址https://www.toymoban.com/news/detail-857033.html

到了这里,关于手动将Java SpringBoot项目部署到云服务器上(使用docker)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端vue和node后端项目部署到云服务器(详解)

    前言:我是一名大三在校生,选修的专业是软件工程,然后主要学前端方向,作为一个前端程员,自己也想有自己的网站,然后被大家浏览,我觉得这是对自己能力的肯定,也是自我提升的一种方法,所以我学习了nodejs,利用nodejs作为项目的后端,然后结合前端最流行的框架

    2024年02月03日
    浏览(31)
  • 部署 ssm 项目到云服务器上(购买云服务器 + 操作远程云服务器 + 服务器中的环境搭建 + 部署项目到服务器)

    推荐的做法:买一个云服务器。(主要是要有一个外网 IP) 好处:① 方便 (如果自己搭建,就比较麻烦)、② 便宜 (如果只是为了学习使用,最低配置的服务器完全够用,不到 50 元就能买一年使用权)、③ 有外网 IP ,可以部署项目(有了外网 IP,我们部署的项目,别人

    2024年02月11日
    浏览(51)
  • PHP项目部署到云服务器(CentOS+HTTP+PHP+MYSQL)

    如何将写好的项目部署到云服务器,让外界可以通过互联网访问项目网站。以下使用的是腾讯云服务器操作,系统环境为CentOS7.9。 打开腾讯云官网,注册好自己的平台账号。如果是新人的话去新人专区购买服务器,性价比高。 这里可以选的服务器有轻量云服务器、云服务器

    2024年02月05日
    浏览(38)
  • 用Nginx将前端Vue项目部署到云服务器(含代理实现请求跨域)

    记录使用Nginx将 纯前端 的Vue3项目部署到阿里云服务器(Ubuntu 22.04)上,包含通过Nginx代理实现 跨域请求 、以及个人踩坑记录~ 执行下列命令安装: 安装完成后查看nignx版本,显示版本信息则说明安装成果 启动nginx,如正确启动,则不会出现任何提示信息。 nginx启动成功后打

    2024年04月12日
    浏览(36)
  • 使用宝塔面板部署Node.js+Mysql服务和Vue3-Admin项目到云服务器上

    准备工作 一台云服务器,可以先用免费试用一个月的服务器进行练手;我这里选择的是腾讯云的轻量云服务器; 1、在云服务器上安装宝塔面板 宝塔面板官网地址:https://www.kancloud.cn/chudong/bt2017/424209 1.1 安装Xshell脚本工具,通过这个工具来连接云服务器,进行宝塔面板的安装

    2024年01月25日
    浏览(42)
  • 苍穹外卖部署到云服务器使用Docker学习笔记

    通过部署docker学习过程中产生的经验写下本文,本文完成前端和后端代码部署,网上的教程对小白很不友好,写下本文方便自己以后自己查阅并分享给大家让大家尽量少踩坑,可以顺利学会docker并成功部署项目 注:服务器系统使用CentOS7,远程工具使用宝塔,宿主机(服务器

    2024年02月02日
    浏览(95)
  • GitHub Action 通过SSH 自动部署到云服务器上

    准备 正式开始之前,你需要掌握 GitHub Action 的基础语法: workflow (工作流程):持续集成一次运行的过程,就是一个 workflow。 name: 工作流的名称。 on: 指定次工作流的触发器。push 表示只要有人将更改推送到仓库就会触发工作流运行。(点击这里了解如何指定特定分支,路径

    2024年01月19日
    浏览(32)
  • SpringBoot项目部署到服务器

    此次用到了三个软件:IDEA、WinSCP、FinalShell 服务器的性能相比较本地有着更大的内存空间,运行程序代码会更加的快捷方便,而且服务器开启后,程序放在那边让它跑就好了。 一般的web项目想要放到服务器上运行的话,需要首先在服务器上装一个Tomcat,然后将项目打包成wa

    2024年02月04日
    浏览(40)
  • springboot项目网站部署到服务器

            用eclipse跟着教程做了一个网站,java语言,springboot项目。在本地电脑上运行成功后,想把它部署到线上,通过网络访问。下面是我自己作为新手自己摸索出来的一个方法,供读者参考。 目录 1. jar包  2. 服务器 3. jdk 和 Tomcat 4. 部署网站 (1)本地电脑远程连接服务器

    2024年02月04日
    浏览(32)
  • 如何在linux服务器上用Nginx部署Vue项目,以及如何部署springboot后端项目

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 本文内容记录如何在Linux(Ubuntu)系统上安装Nginx,并部署打包好的Vue前端项目,最后通过浏览器访问。 提示:以下是本篇文章正文内容,下面案例可供参考

    2024年04月16日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包