部署spring boot 项目到阿里云服务器

813 阅读4分钟

本文已参与[新人创作礼]活动,一起开启掘金创作之路

 一、背景

最近看到许多小伙伴问怎么部署自己的毕业项目到云端,就想到了自己的毕业项目,当年毕业的时候也是想把它部署的服务器上,想着答辩的时候拿着自己网站直接讲多好啊,这样比本地运行高大上多了,但是当时实力不允许,就没有成功,现在就来实现一下云端部署,希望小伙伴能从中了解到如何部署一个简单的spring boot项目,内容比较多,希望能够耐心的看完,有兴趣实操的可以收藏一下。


二、前期准备

就以我的项目为例,下面是部署项目需要准备的内容。

1、毕业答辩的项目jar。

(1)我是使用idea开发的毕业项目,可以打开idea控制台到项目根目录下,通过依次执行下面mvn命令获取。

mvn clean

mvn -Dmaven.test.skip=true package

(2)执行成功后将会保存在项目的target子目录下。

0​编辑

2、项目的properties文件

(1)将项目中的properties文件复制一份到外面,这样方便在云端部署时可以动态修改数据库连接,项目端口号等属性。

0​编辑

3、xshell:这个软件是用来连接服务器进行操作的,版本不限,没有可以从这儿下载

xshell.en.softonic.com/download

4、Xftp: 这个软件是用来上传文件到服务器的,版本不限

www.netsarang.com/zh/xftp-dow…

5、一台阿里云服务器,不知道如何购买的小伙伴可以看这篇,之前小伙伴也提了不错的建议,阿里云上如何是学生的话,可以直接买,特别优惠,那这篇文章就不用看了。

如何购买低成本的阿里云服务器来学习服务端相关的知识

6、需要java jdk包,可以从官网下载。

Java Downloads | Oracle

7、项目使用的是mysql数据库,需要准备Mysql数据库

(1)第一种方式可以在服务器安装mysql并配置,官网地址如下,可以选择自己需要的mysql数据库,这种方式比较有难度。

MySQL :: Download MySQL Community Server (Archived Versions)

0​编辑

(2)第二种方式是在阿里云上购买一个云数据库 Mysql版本的,用于自己学习的云数据库不贵,挺便宜的,我是使用的第二种方式,买了一个基础版本的,第一次买一年的话19.9。

0​编辑

9、项目中还用到了Redis,需要服务器安装Redis

(1)、需要上传一个xzvf redis-4.0.8.tar.gz

(2)、也可以在服务器上通过下面命令下载

             wget download.redis.io/releases/re…

(3)、安装Redis前,需要TCL(Tool Command Language)工具脚本语言支持,所以上传一个tcl8.6.1-src.tar.gz,下载地址如下。

             Download Tcl from SourceForge.net

10、全部准备结束以后,放到一个目录里,后面会把这些需要的内容上传到服务器相应的目录进行安装配置。想自己实现一下的话,欢迎百度网盘下载这些内容

链接:pan.baidu.com/s/1KnLNV0dS…

提取码:659j

复制这段内容后打开百度网盘手机App,操作更方便哦

0​编辑


二、上传文件到服务器

1、使用Xftp,上传java到服务器

2、使用Xftp上传jar包到服务器

(1)连接上服务器后,选到要存放文件的位置,把上传的文件拖拽到右边。如下图:

0​编辑


三、安装JDK并配置环境变量

1、xshell连接服务器

0​编辑

2、解压jdk包

(1)到达上传jdk包的目录,执行下面解压命令

tar zxvf jdk-8u281-linux-i586.tar.gz

3、配置jdk环境变量-添加系统环境变量

(1)打开环境文件

sudo vi /etc/environment

(2)添加下面内容,JAVA_HOME的值为解压后的jdk路径

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin" 

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib 

export JAVA_HOME=/Java/jdk1.8.0_281

(3)执行配置文件

source /etc/environment

4、配置jdk环境变量-添加用户环境变量

(1)打开配置文件

sudo vi /etc/profile

(2)加入下面的内容,JAVA_HOME的值为解压后的jdk路径

export JAVA_HOME=/Java/jdk1.8.0_281 export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

(3)执行配置文件,使配置生效

source /etc/profile

5、验证JDK是否安装成功

(1)执行下面命令验证

java -version

(2)可以看到java配置成功了

0​编辑

6、注意

(1)安装jdk包时,要注意服务器镜像环境,我的项目使用的是java 8 版本,服务器镜像是winx64,所以下载的下面jdk版本。

0​编辑


四、配置mysql数据库

1、购买mysql云数据库,尽量跟服务器区域保持一致。

0​编辑

2、购买云数据库以后,进入控制台找到数据库实例

0​编辑

3、点击上图链接,进入详情,然后进入账号管理添加一个账号,这个创建的账户后面本地使用navcat连接云数据库时会使用到。

0​编辑

4、创建一个云数据库。

(1)之后把本地开发项目时使用的数据库sql文件(包含数据和结构)导入到这个云数据库。

(2)线上项目之后配置为连接这个云数据库。

0​编辑

5、打开数据库连接,然后点击申请外网地址。

(1)图中因为我申请过了,这里显示释放外网地址,没有申请过的话,这儿是显示申请外网地址选项。后面本地使用navcat连接云数据库时,数据库地址就是申请的这个外网地址,端口是3306。

0​编辑

6、配置数据安全性

(1)默认的白名单中设置的IP是127.0.0.1,设置为127.0.0.1表示禁止所有地址访问,删除掉,修改为0.0.0.0/0,表示允许所有ip访问。

0​编辑

(2)添加自己云服务器的私网ip。

0​编辑


五、配置安装Redis

1、安装TCL编译器,redis下载时会需要。

(1)解压上传的tcl8.6.1-src.tar.gz。

tar zxvf tcl8.6.1-src.tar.gz

(2)到unix目录

cd tcl8.6.1/
cd unix/

(3)执行./configure命令

./configure

(4)编译软件

make

(5)安装

make install

2、安装Redis

(1)解压redis压缩包

tar xzvf redis-4.0.8.tar.gz

(2)到解压后的src目录

cd redis-4.0.8
cd src

(3)、测试一下是否可以安装

make test

(4)、执行安装redis到/usr/local/redis

make install PREFIX=/usr/local/redis

3、配置redis

(1)、到安装redis的目录

cd /usr/local/redis/

(2)、生成一个etc目录

mkdir /usr/local/redis/etc

(3)将redis.conf复制到etc目录

mv redis.conf /usr/local/redis/etc

(4)、配置redis为后台启动,执行下面命令打开redis.conf,将daemonize no 改成daemonize yes

vi /usr/local/redis/etc/redis.conf 

(5)、开启redis

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

(6)、测试redis是否安装成功

cd bin
./redis-cli

(7)、出现下面的就配置并启动成功了

​编辑

4、将redis加入到开机启动

(1)打开配置文件

vi /etc/rc.local

(2)添加下面内容保存

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf


六、配置并运行项目

1、navcat连接mysql云服务器

(1)主机名或ip地址为配置云mysql时申请的外网地址。

(2)用户名和密码为配置云mysql时申请的账号。

0​编辑

(2)连接成功以后可以看到配置云数据库时创建的jiankang数据库。

0​编辑

(3)右键jiankang数据库->选择运行SQL文件->选择本地数据库转储的sql文件->点击开始。这样会把本地使用的数据库的表结构和数据上传到云数据库中。

0​编辑

(4)运行SQL文件以后,我们把本地的数据库传上云端了。登陆数据库。

0​编辑

(5)可以看到,创建的这个jiankang数据库有项目需要的表了。

0​编辑

2、通过xftp软件上传jar包和application.properties到一个目录

3、修改application.properties文件并保存

(1)将数据库地址替换为云Mysql地址

(2)将Redis账号密码修改为服务器的账号密码

0​编辑

4、运行项目jar包

(1)nohup 命令 (no hang up不挂起),用于在系统后台不挂断地运行命令,退出xshell终端不会影响程序的运行。

(2) -Dspring.config.location属性是修改的properties文件地址。

(3)server.port属性值是端口号。


nohup java -jar -Dspring.config.location=/springboot/application.properties /springboot/jiankang-0.0.1-SNAPSHOT.jar --server.port=8080 &

5、修改安全组

(1)运行jar包时指定了8080端口,所有需要开放8080端口并保存。

0​编辑

6、测试项目部署情况

(1)浏览器访问自己项目,地址为服务器外网ip:8080。

(2)我的项目地址为http://8.140.115.75:8080/

(3)账户为111,密码为111,欢迎访问。

0​编辑


七、总结

以上就是我部署自己毕业项目的完整步骤,主要涉及到项目文件的前期准备,服务器java环境的配置,mysql云服务器的部署和配置,Redis的安装和配置,jar包的运行等方面,觉得不错的话,欢迎微信搜索关注java基础笔记,后面会不断更新相关知识,大家一起进步。


八、参考

1、配置java环境

www.jb51.net/article/137…

2、配置云数据库Mysql

Navicat如何连接阿里云数据库RDS_Jersey小熙的博客-CSDN博客_navicat 连rds

3、服务器上安装并配置redis

redis 安装部署(linux下)_qq_21566775的博客-CSDN博客