在云服务器上部署springboot应用程序,一篇从零开始的保姆级教程!
概述
以前写web应用程序一直在本地电脑跑,然后想让代码跑在服务器上,弄成输入网址就能访
问的那种。踩了好多坑,最终部署成功!
本文主要谈思路,按照以下步骤走能够避免一些坑,细节出问题可以自己搜索以下。
另外,我用的腾讯云服务器,操作系统是centos7。其它云服务器,其它操作系统,思路也一样。
1.准备云服务器
可以自己去租个云服务器,新用户很便宜的。
2.将springboot程序打成可执行jar包
首先,保证你的代码可以正常连接数据库,正常运行。
然后,在idea终端执行
mvn clean
mvn package
在target目录下生成一个可执行jar包,这个后面要用。springboot项目的jar包是可以独立运
行的,它内置了tomcat服务器。
3.在服务器上安装MySQL数据库
我是参考下面的文章安装的,这个方法特别快,适合小白。
注意:参考文章里有些SQL命令有点小问题,参考文章评论区有人指出来了,如果执行完出
错,去搜一下解决方法。
4.在服务器上安装Java环境
我是参考下面的文章安装的,用里面的方法一,这个方法特别快,适合小白。
5.在操作系统防火墙上开放3306端口(MySQL的)和80端口(HTTP协议的)
按照以下几步走完应该问题不大,主要是第三步和第四步。
# 1.启动防火墙
systemctl start firewalld
# 2.设置开机启动
systemctl enable firewalld
# 3.开放3306端口和80端口,有的系统可能不是这个命令
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --permanent --zone=public --add-port=80/tcp
# 4.重启防火墙(重启让设置生效)
firewall-cmd --reload
# 5.查看打开的端口(检查操作是否成功)
firewall-cmd --list-ports
6.在腾讯云服务器防火墙上开放3306端口和80端口
按下面参考文章的方式开放端口就好,很简单。
其他的云服务,如阿里云可能也需要类似操作。
7.本地Navicat Premium远程连接服务器上的MySQL数据库。
这里给出两种方法,我用的常规方法。
方法一:常规方法
方法二:ssh的方法
有的人会遇到以下错误,下面的参考文章有解决方法:
8.上传jar包到Linux服务器,运行jar包。
8.1 上传
我用finalshell上传的jar包,也可以选择其它方法。
有关finalshell的安装、使用,大家自行查找。
8.2 运行
使用cd命令,进入jar包所在目录,假如jar包在目录usr/local/add下,则执行命令:
cd /usr/local/add
然后使用以下命令运行jar包:
java -jar jar包名
也可以使用后台运行的方式,运行jar包。
# 后台运行
nohup java -jar jar包名 > server.log 2>&1 &
想要结束后台运行,可以执行:
# 查看进程id
ps -ef | grep "java -jar"
# 杀死进程,结束运行
kill -9 进程id
至此,打包好的springboot程序在服务器启动。
9.测试
浏览器输入地址访问程序,如浏览器输入:
我的访问地址为:
http://192.8.112.194/pages/books.html
192.8.112.194为服务器IP。
至此,结束。有问题留言,会第一时间回复。