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

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

如果你是新手,且没看过我之前的一系列SpringBoot文章,建议至少看一下这一篇:SpringBoot(四)SpringBoot搭建简单服务端_springboot做成服务_heart荼毒的博客-CSDN博客​​​​​​​

目录

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

二、云服务器安装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测试


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

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

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

二、云服务器安装MySql

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

1、卸载centos默认安装的mariadb

rpm -e mariadb-libs --nodeps

2、创建mysql安装文件夹

cd /usr/local

mkdir mysql

cd 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访问啦:

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Qt(Day2)

实现登录框中,当登录成功时,关闭登录界面,并跳转到其他界面:

前端面试题-HTML、HTTP、web综合问题(三)

26 你做的⻚⾯在哪些流览器测试过?这些浏览器的内核分别是什么? IE : trident 内核Firefox : gecko 内核Safari : webkit 内核Opera :以前是 presto 内核, Opera 现已改⽤Google - Chrome 的 Blink 内核Chrome:Blink (基于 webkit &#xf…

服务器搭建oracle,并远程连接教程

下载两个压缩包,然后上传到服务器, 软件安装09:CentOS安装Oracle - 虚拟机 - 5997CK - 欢迎您! (hezhilin.online) 这里有全部步骤,反正过了几天我也会忘记,不赘述了。 直接上拆的坑: 开启服务器端口后…

【数据结构】24王道考研笔记——串

四、串 串的定义 串(字符串)是由零个或多个字符组成的有限序列。 子串:串中任意个连续的字符组成的子序列主串:包含子串的串字符在主串中的位置:字符在串中的序号子串在主串中的位置:子串的第一个字符在…

【Spring】项目创建和使用

一、Spring 的概念 Spring : 包含众多工具方法的 IoC 容器。 Spring 的核心 :IoC (控制反转), DI (依赖注入)。 loC (Inversion of Control)翻译成中文就是 “控制反转” 的意思,控制反转一种…

python代码练习:石头剪刀布猜拳游戏

python代码练习:石头剪刀布猜拳游戏 题目结果展示源代码 题目 使用Python实现人机石头剪刀布猜拳小游戏,并且最后能够统计分数和局数 结果展示 源代码 # -*- coding: utf-8 -*- # Course : python 基础 # Time : 2023/7/2 14:21 # Author : Eden Wei …

vue筛选框封装

点击对默认查询条件之外的条件进行 增加或删除 在使用的组件或标签加入:filtrateList"filtrateList"传入条件查询数组 当前demo写在xk-page中,就以xk-page组件为例 <xk-upage :filtrateList"filtrateList" :queryArr"queryArr"></xk-…

Vue3setup的参数说明

setup的两个参数 setup包含两个参数&#xff0c;一个为props、一个为context &#xff08;均为形参&#xff09; props&#xff1a;值为对象&#xff0c;包含&#xff1a;组件外部传递过来&#xff0c;且组件内部声明接收了的属性。context&#xff1a;上下文对象 <scrip…

LIN总线与RS485总线

LIN&#xff08;Local Interconnect Network&#xff0c;局部互连网络&#xff09;总线和RS485都是用于设备间通信的串行通信协议。下面我将分别列出它们的优势和劣势。 LIN总线的优势&#xff1a; 简单性&#xff1a;LIN总线的硬件和协议简单&#xff0c;易于实现和维护。成…

JVM常用参数

以下是 JVM 常用参数的配置 内存相关参数&#xff1a; -Xmx&#xff1a;指定 JVM 最大可用内存&#xff0c;例如 -Xmx2g 表示最大可用内存为 2GB。 -Xms&#xff1a;指定 JVM 初始内存大小&#xff0c;例如 -Xms512m 表示初始内存为 512MB。 -XX:MaxPermSize&#xff1a;指定…

23种设计模式总结

设计模式的本质是&#xff1a;“找到变化&#xff0c;封装变化” 设计模式的类型分为&#xff1a; 创建型&#xff1a;负责提供创建对象的机制 结构型&#xff1a;将对象或类组合成更大的结构&#xff0c;同时保持对外结构的不变&#xff0c;对内结构的灵活 行为型&#xff1a…

基于stm32单片机的智能家居环境监控系统

​一.硬件方案 智能家居环境监控系统的整体电路主要由stm32单片机最小系统&#xff0c;光MQ-2烟雾传感器电路&#xff0c;红外人体检测电路&#xff0c;DS18B20温度传感器&#xff0c;LCD1602显示电路&#xff0c;水泵驱动电路&#xff0c;风扇驱动电路&#xff0c;LED指示灯&…

MySQL数据库架构

MySQL数据库架构 MySQL架构自顶向下大致可以分为连接层 , SQL层 , 存储引擎层 , 物理文件层。架构如下 连接层 -- 查看最大连接数 show variables like %max_connections%;客户端连接器&#xff0c;MySQL向外提供交互接口连接各种不同的客户端。 客户端/应用程序&#xff1a;客…

银河麒麟服务器v10 sp1 redis开机自动启动

接上一篇&#xff1a;银河麒麟服务器v10 sp1 安装 redis_csdn_aspnet的博客-CSDN博客 将redis_init_script文件复制到/etc/init.d下&#xff0c;重命名为redisd&#xff1a; rootxxx-pc:cp /usr/local/redis/redis-7.0.11/utils/redis_init_script /etc/init.d/redisd 内容如…

MFC 单文档模式

Doc类利用自带框架存数据 void CCADDoc::Serialize(CArchive& ar) {if (ar.IsStoring()){// TODO: 在此添加存储代码//保存数据到文件ar << m_nShapeCount;for (int i 0; i < m_arrShapes.GetSize(); i){CShape* pShape NULL;pShape (CShape*)m_arrShapes[i];…

【C的葵花宝典进阶篇】之指针进阶(一)

【C语言进阶篇】之指针进阶&#xff08;一&#xff09; 1. 字符指针2. 指针数组2.1 整形指针数组2.2 用指针数组模拟二维数组 3. 数组指针3.1 数组指针的表示方法3.2 深度剖析&数组名和数组名3.3 数组指针的使用3.3.1 在同一函数内直接将数组的地址赋给数组指针3.3.2 数组指…

【Spark】RDD转换算子

目录 map mapPartitions mapPartitionsWithIndex flatMap glom groupBy shuffle filter sample distinct coalesce repartition sortBy ByKey intersection union subtract zip partitionBy reduceByKey groupByKey reduceByKey 和 groupByKey 的区别 a…

C#学习之路-常量

C# 常量 常量是固定值&#xff0c;程序执行期间不会改变。常量可以是任何基本数据类型&#xff0c;比如整数常量、浮点常量、字符常量或者字符串常量&#xff0c;还有枚举常量。 常量可以被当作常规的变量&#xff0c;只是它们的值在定义后不能被修改。 整数常量 整数常量可…

跨境平台做测评、采退、Lu卡、lu货要怎么做安全?

大家好&#xff0c;我是珑哥测评&#xff0c;今天和大家聊聊比较小众的圈子&#xff0c;也就是测评衍生出来的分支&#xff0c;采购和退款。因为最近也有很多客户咨询这个问题&#xff0c;由于沃尔玛风控升级了&#xff0c;很多客户下不成功的问题。 大家都知道无论是做测评还是…

从源码全面解析 dubbo 服务端服务调用的来龙去脉

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小黄&#xff0c;独角兽企业的Java开发工程师&#xff0c;CSDN博客专家&#xff0c;阿里云专家博主&#x1f4d5;系列专栏&#xff1a;Java设计模式、Spring源码系列、Netty源码系列、Kafka源码系列、JUC源码…