SpringBoot(六)SpringBoot项目部署到腾讯云服务器

    这篇文章,可以说是干货满满。关注我的同学应该直到,之前我有几篇SpringBoot的文章,介绍了如何搭建本地服务器(没看过的同学可以系统地看下我的SpringBoot专栏,保证你会有很多的收获)。但我们那都是在本地玩耍,数据库也都是在本地操作,始终没有上云,这篇文章手把手教你如何把SpringBoot项目部署到腾讯云服务器。

    如果你是新手,且没看过我之前的一系列SpringBoot文章,建议至少看一下这一篇:

​​​​​​​SpringBoot(四)SpringBoot搭建简单服务端_springboot做成服务_heart荼毒的博客-CSDN博客​​​​​​​

    如果你想从头到尾系统地学习,欢迎关注我的专栏,持续更新:

https://blog.csdn.net/qq_21154101/category_12359403.html

目录

一、云服务器安装系统和登录

二、云服务器安装MySql

1、卸载centos默认安装的mariadb

2、创建mysql安装文件夹

3、下载mysql

4、解压文件夹

5、安装mysql

三、云服务器配置Mysql

1、修改my.cnf文件

2、初始化配置

3、修改密码

4、使用新密码登录

5、修改mysql_native_password为新密码

6、允许所有ip访问云服务器MySql

四、测试连接云服务器MySql

1、服务器防火墙添加规则

2、MySQL Workbench测试连接是否成功

3、建立连接

4、测试服务器MySQL

五、部署项目到云服务器 

1、本地打包项目为jar

2、jar上传到腾讯云服务器

3、运行jar

4、公网ip测试

六、后台持续运行

1、终端断开连接的问题

2、设置后台持续运行


一、云服务器安装系统和登录

    我是用的腾讯云轻量应用服务器,然后镜像系统是CentOS 7.6 64bit。在这里还是推荐CentOs,不推荐windows,虽然有图形化的工具宝塔面板,但有一说一,真的难用。我折腾了半天,最后还是重装了CentOS,linux真香。

    装好系统后,重置密码后,登录。

二、云服务器安装MySql

    登录后,接下来的一切我们使用linux命令来操作。

1、卸载centos默认安装的mariadb

rpm -e mariadb-libs --nodeps

2、创建mysql安装文件夹

cd /usr/localmkdir mysqlcd mysql

3、下载mysql

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar

4、解压文件夹

tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar

5、安装mysql

rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm --nodeps --force

三、云服务器配置Mysql

1、修改my.cnf文件

增加

lower_case_table_names = 1

2、初始化配置

mysqld --initialize; 
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;systemctl enable mysqld;

3、修改密码

查看初始密码并登录mysql

cat /var/log/mysqld.log | grep password

修改密码

alter user 'root'@'localhost' identified by '888888';flush privileges;

4、使用新密码登录

5、修改mysql_native_password为新密码

alter user 'root'@'localhost' identified with mysql_native_password by '888888';

6、允许所有ip访问云服务器MySql

create user 'root'@'%' identified with mysql_native_password by '888888';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

四、测试连接云服务器MySql

1、服务器防火墙添加规则

2、MySQL Workbench测试连接是否成功

3、建立连接

4、测试服务器MySQL

    接下来,我在我的腾讯云服务器MySQL连接中创建跟我之前本地服务器一样的数据库和表,我直接从local一个字段一个字段的copy过来的。 

    修改之前SpringBoot项目中的配置信息为腾讯云服务器的公网ip,如下所示:

    运行项目,然后访问 http://localhost:8080/register?name=zj&phone=1234567890&password=123456

    可以看到,请求没问题,看下数据库也写入了用户注册信息:

五、部署项目到云服务器 

    截止到现在,我们只是完成了上云的一半,因为我们的项目还是在本地跑的,只不过把数据库搬到了云服务器。因此,接下来需要吧SpringBoot项目部署到云服务器。

1、本地打包项目为jar

    在IDEA的命令行输入如下命令:

mvn clean package

    如果打包有什么错误,需要根据error信息去修改问题。一般本地运行OK的话,没什么错误,过一会会看到如下Buid Success的信息: 

2、jar上传到腾讯云服务器

    Build Succes后,可以在项目的target目录看到xxx-xxx-SNAPSHOT.jar:

    把jar包上传到云服务器,安装增强功能后,直接拖到命令行,右下角可以看到上传进度:

3、运行jar

    注意,服务器需要有安装java,如果没有的话,安装一下

yum install -y java-1.8.0-openjdk

    安装java后,使用java -jar 运行项目,可以看到,我们的项目在腾讯云服务器跑起来了: 

4、公网ip测试

    首先,防火墙设置个可以访问的端口,比如就8080吧,跟我们之前本地的端口号一致:

    设置完后,就可以直接在浏览器使用你的云服务器的公网ip访问啦:

六、后台持续运行

1、终端断开连接的问题

    上述还不够完美,因为一旦远程终端断开连接了,那么用户就访问不通,这自然是不可行的。一般情况下,服务器除了维护,需要保持一直持续地运行。

2、设置后台持续运行

    使用如下命令,保证项目即使是终端退出了,也可以在后台不间断的运行:

nohup java -jar server-0.0.1-SNAPSHOT.jar &

    设置完后,断开终端测试一下,没问题的:

  

    至此,我们已经彻底的把我们的项目部署到腾讯云服务器。说真的,我考虑写这篇博客有快一周了,起笔后断断续续。因为要真的把一整个流程全都走下来,确实很耗费精力。今天周六,下午没忍住开始慢慢写,断断续续地写到凌晨0点半,真的挺不容易。希望看到这的同学,如果我真的有帮助到你,可以评论点赞支持一下。如果有不明白的地方,也欢迎交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/14181.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Maven对Scala独立应用程序进行编

任务描述 本关任务:使用Scala编写一个找出README.md文件中包含a的行数和包含b的行数的程序,并使用Maven对程序进行编译打包提交到Saprk上。 相关知识 在终端中执行如下命令创建一个文件夹 sparkapp3作为应用程序根目录: cd ~ # 进入用户主…

新服务器配环境

本章节的大概思路为: 1、远程连接服务器 直接远程连接,前的是你要连接的目录名称,后为服务器公网IP。 ssh xxxxxx.xxx.xxx.xxx 远程连接服务器不同端口 -p后为端口名称 ssh xxxxxx.xxx.xxx.xxx -p xxxx 之后输入密码就行了。 2、创建子用…

vue + element 笔记(vue2.0)

1.安装nodejs,cmd中运行 node -v 验证是否成功 2.安装cnpm,cmd中运行 npm install -g cnpm --registryhttps://registry.npm.taobao.org,cmd中 cnpm -v 验证是否成功 3.安装vue-cli,cmd中运行 cnpm install --global vue-cli&…

C++的auto类型说明符详解 附易错实例

💯 博客内容:C读取一行内个数不定的整数的方式 😀 作  者:陈大大陈 🚀 个人简介:一个正在努力学技术的准前端,专注基础和实战分享 ,欢迎私信! 💖 欢迎大家&…

【算法与数据结构】459、LeetCode重复的子字符串

文章目录 一、题目二、解法2.1 暴力破解法2.2 KMP算法2.3 Sunday算法2.4 官方查找算法 三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 2.1 暴力破解法 思路分析:子串多次循环才能构成整个…

使用docker安装redis并使用redis deskTop manager连接

使用docker安装redis 提前准备环境 linux、 docker环境 # 使用命令查看docker环境是否正常docker images(任何一个docker命令就可以,不一定必须这个) 下载redis镜像 # 使用命令下载镜像文件docker pull redis 确认镜像 # 使用命令查看镜像docker images使用redis d…

[桌面运维]PC常用的视频接口,显示器VGA、DVI、HDMI、DP、USB-C接口的认识和应用

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪(*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu &am…

MySQL-分库分表详解(五)

♥️作者:小刘在C站 ♥️个人主页: 小刘主页 ♥️努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏&#xf…

【海量数据挖掘/数据分析】之 决策树模型(决策树模型、决策树构成、决策树常用算法、决策树性能要求、信息增益、信息增益计算公式、决策树信息增益计算实例)

【海量数据挖掘/数据分析】之 决策树模型(决策树模型、决策树构成、决策树常用算法、决策树性能要求、信息增益、信息增益计算公式、决策树信息增益计算实例) 目录 【海量数据挖掘/数据分析】之 决策树模型(决策树模型、决策树构成、决策树常…

pytorch—实现各种注意力

1.什么是Attention 所谓Attention机制,便是聚焦于局部信息的机制,比如图像中的某一个图像区域。随着任务的变化,注意力区域往往会发生变化。 面对上面这样的一张图,如果你只是从整体来看,只看到了很多人头&#xff0c…

SpringBoot——2.7.3版本整合Swagger3

前言 Swagger2(基于openApi3)已经在17年停止维护了,取而代之的是 sagger3(基于openApi3),而国内几乎没有 sagger3使用的文档,百度搜出来的大部分都是swagger2的使用,这篇文章将介绍…

RabbitMQ系列(22)--RabbitMQ优先级队列

前言:在购物系统中有一个订单催付的场景,如果客户在购物系统下单后在设定的时间内未付款那么就会给客户推送一条短信提醒,这是一个比较简单的功能,但是,商家对我们来说,肯定是要区分大客户和小客户的&#…