这篇文章,可以说是干货满满。关注我的同学应该直到,之前我有几篇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点半,真的挺不容易。希望看到这的同学,如果我真的有帮助到你,可以评论点赞支持一下。如果有不明白的地方,也欢迎交流。