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

六、后台持续运行

1、终端断开连接的问题

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

2、设置后台持续运行

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

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

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

  

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

猜你喜欢

转载自blog.csdn.net/qq_21154101/article/details/131618238