将SpringBoot项目(含数据库)部署到阿里云上
- 新用户特惠:https://www.aliyun.com/daily-act/ecs/activity_selection?utm_content=se_1008134918
- 免费试用: https://free.aliyun.com/product/product/ecs/freetrial?utm_content=se_1008957997
接下来的操作都是基于免费试用的服务器。
1.阿里云中的操作
- 购买时配置如下
-
购买成功后,等一会,会有一条短信,上面会有云服务器的实例名称和公网IP。
-
进入阿里云官网,点击控制台。进入下边的页面。设置你的密码。
- 点击进入安全组 和实例在同一列。
- 快速添加端口号
- 以后需要添加新的端口号,可以点击手动添加。
重要!!!
添加端口号之后记住要返回实例,进行重启。
2.进入服务器
-
首先需要下载 Xshell。进入之后点击新建。填写完先不要点击连接,点击左边的用户身份验证。
-
填写完先不要点击连接,点击左边的用户身份验证。
-
点击确定,就进入服务器的控制台了。
-
如果你精通 Linux系统的各种命令,可以在上边直接操作了。
-
如果你不熟悉Linux系统,那建议你下载 宝塔面板。
-
前提:阿里云服务器开放了8888端口号。可以按照上面的教程进行开放。
-
宝塔官网:https://www.bt.cn/
-
在Linux控制台输入以下 命令就会自动下载宝塔了。
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
-
-
安装完之后会有两个网址,username,password。
-
输入外网面板地址,会弹出一个登录页面,输入账号,密码就可以了。
-
页面如图所示。可以在侧边栏进行各种操作。
- 有什么需要下载的可以在软件商店中下载。例如Mysql,tomcat,Nginx。不过想要使用的话,记得开启对应的端口号。
3.部署SpringBoot项目
前边的步骤网上一些教程讲的也很详细,但是到部署SpringBoot项目这一部分就讲的非常模糊。让我浪费了不少时间,这里总结一下,希望各位小伙伴们不要重蹈覆辙。
1. java Jdk版本的问题
- 首先在控制台查看服务器的java jdk 版本。这两个应该是一样的。
java -version
javac - version
- 之后到你的项目里,在pom.xml 文件中查看你的 jdk版本。如果和服务器里面的不一致,就改成一致。否则后面启动项目的时候会报错。
2.数据库导入的问题
SpringBoot项目大部分都包含数据库。因此我们需要将数据库导入到服务器中。
-
前提:下载了MySql和开放了3306端口。
-
点击新建数据库,用户名和密码自己设置。
-
将本地数据库中的文件导出。以Navicat为例。按下图所示操作。
- 回到宝塔面板,点击导入。将你需要的文件全部上传。
- 到idea中,打开配置文件(application.yaml),将连接数据库的 username,password 改成你在服务器中设置的值。
3.打包项目
先点击 clean,在点击package。 项目就已经打包好了。会生成一个 target文件夹。
4.上传项目到服务器
- 回到宝塔面板,在www文件夹下新建一个文件夹。上传的项目就放在这个文件夹下。
- 下载Xftp,进行文件上传操作。点击文件,新建。
- 完成之后,出现以下界面。
- 上传的文件: 打包的文件target中以 .jar 结尾的文件。
- 存放地址: 刚才新建的文件
- 将.jar 文件夹拖拽过去就行,等待传输完成。
5.部署项目
- 进入Xshell,进入新建的文件夹。
cd //进入根目录
cd /www/SpringBoot //以我的为例,进入SpringBoot文件夹中。
java -jar xxxxxxx.jar //文件名称
- 输入完成后,项目启动。
到浏览器输入对应的ip地址即可。
6.端口号被占用
SpringBoot项目如果你没有设置过的话,默认是8080端口号。 如果这个端口号被占用,运行时就会报错。
1.第一种解决办法
到阿里云官网新开一个端口号。记住重启。还要在在application.yaml 中修改端口号。
之后重复上边的3,4,5步骤。
2.第二种解决办法
查看是哪个程序占用了端口号
lsof -i:8081
结束(杀掉)占用的进程
kill -9 6894
没有报错,说明进程被杀掉。
7.部署后一直运行
下载Screen
CentOS 系列系统: yum install screen
Ubuntu 系列系统: sudo apt-get install screen
创建一个Screen
screen -S myblog #后面的名字随便取,用来说明你这个窗口是用来干什么的。
- 之后会进入一个新窗口。进入项目所在的目录,运行项目
cd /www/SpringBoot
java -jar myblog-0.0.1-SNAPSHOT.jar
- 按 Ctrl +a+d 退出窗口,进入原来的窗口。
- screen -ls 查看所有的后台进程
- kill -9 进程号 杀死进程
- screen -r -d 进程号 进入所在的进程。
4.结语
关于将项目部署到服务器中的一切都已说明完毕。欢迎大家来我的网站参观访问。如果觉得说的不够详细,我会在下边放一个网址,讲的更加详细,但我这里有些内容他没有。大家可以相互借鉴。