Spring boot项目部署到云服务器小白教程详解

 更新时间:2018年04月02日 08:56:37   投稿:zx  
这篇文章主要介绍了Spring boot项目部署到云服务器小白教程详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

本篇文章主要介绍了Spring boot项目部署到云服务器小白教程详解,分享给大家,具体如下:

测试地址:47.94.154.205:8084

一、Linux下应用Shell通过SSH连接云服务器

//ssh 用户名@公网IP
ssh josiah@ip
// 输入密码

二、开始搭建SpringBoot的运行环境

1.安装JDK并配置环境变量

1) 打开JDK官网 www.oracle.com

2) 找面最新对应的JDK版本,下载

这里要注意的一个问题是:云服务器下载JDK时一定要在本地去oracle官网去下载后再上传到云服务器上,不能直接通过wget的方式下载,因为下载JDK时要勾选同意它的协议,直接用wget下载链接的话默认不会同意协议,下载的结果就会是一个.html文件,就无法解压安装了。

将压缩包上传到云服务器的命令为:

复制代码 代码如下:

scp -P 22 /home/josiah/Downloads/jdk-9.0.4_Linux_x64_bin.tar.gz josiah@ip:/home/josiah

3) 将下载好的压缩包解压到指定目录

sudo mkdir Java
tar -zxvf jdk-9.0.5.....tar.gz -C ./Java

4) 配置JDK环境变量

①添加系统环境变量:

sudo vi /etc/environment

加入下列内容:

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=/home/josiah/Java/jdk1.8.0_161

执行配置文件,即让配置文件立即生效

source /etc/environment

②添加用户环境变量

sudo vi /etc/profile

加入下列内容:

export JAVA_HOME=/home/josiah/Java/jdk1.8.0_161
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

同样执行配置文件,让配置文件立即生效:

 source /etc/profile

③验证JDK是否安装成功

java -version

2.安装Mysql

参考链接:https://www.jb51.net/article/114262.htm

3.安装Git

sudo apt-get install git
git --version

4.安装Maven

1) 下载Maven安装包并解压

wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
tar -zxvf apache-maven-3.5.2-bin.tar.gz
sudo mv apache-maven-3.5.2 /usr/local/maven

2) 配置环境变量

sudo vi /etc/profile

加入下列内容:

export M2_HOME=/usr/local/maven
export M2=$M2_HOME/bin
export PATH=$M2:$PATH

执行配置文件,让配置立即生效:

source /etc/profile

3) 修改maven国内镜像

为了加快maven构建速度,添加国内的镜像服务器

①将/home/josiah/apache-maven-3.5.2/conf/settings.xml文件,复制到~/.m2目录下:

cp /home/josiah/apache-maven-3.5.2/conf/settings.xml ~/.m2

②将下列内容添加到mirrors节点下:

sudo vi /home/josiah/apache-maven-3.5.2/conf/settings.xml

<mirror>
   <id>alimaven</id>
   <name>aliyun maven</name>
   <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
   <mirrorOf>central</mirrorOf>
</mirror>

③验证是否安装成功

mvn -version

5.安装Mongodb

由于我的博客项目需要用到Mongodb来存储图片,所以需要安装Mongodb,安装步骤可在另一篇博客中查看。

6.安装gradle

1) 在http://www.gradle.org/downloads页面,下载最新版的gradle压缩包,并上传到云服务器中

复制代码 代码如下:

scp -P 22 /home/josiah/Downloads/gradle-4.6-bin.zip josiah@ip:/home/josiah

2) 将其解压在/usr/local目录下

sudo unzip gradle-4.6-bin.zip
sudo mv gradle-4.6 /usr/local/gradle

3) 设置环境变量

sudo vi /etc/profile

增加下列内容:

export GRADLE_HOME=/usr/local/gradle
export PATH=$GRADLE_HOME/bin:$PATH

执行配置文件,让其立即生效:

source /etc/profile

4) 验证是否成功

gradle -version

三、打包项目及图片服务器

1. 本地使用Maven打包MyBlog项目,生成可执行的jar文件

1) 修改MyBlog项目中的pom.xml文件,将下列内容添加到mirrors节点下

<!--maven打包-->
<build>
    <defaultGoal>compile</defaultGoal>
      <plugins>
          <plugin>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-maven-plugin</artifactId>
             <configuration>
               <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
              <fork>true</fork><!-- 如果没有该项配置,可能devtools不会起作用 -->
            </configuration>
          </plugin>

      </plugins>
  </build>

2) 进入项目根目录,即与pom.xml同级的目录,使用mvn package进行打包

cd MyBlog
mvn package

这时在target/文件夹下就会生成一个.jar文件,执行java -jar jar包名即可启动项目

java -jar blog-0.0.1-SNAPSHOT.jar

3) 将打包好的jar文件上传到云服务器中

复制代码 代码如下:

scp -P 22 /home/josiah/blog-0.0.1-SNAPSHOT.jar josiah@ip:/home/josiah

4) 注意:这里我第一次打包好后启动项目时发现某些页面无法访问,提示模板解析失败,找不到页面

后来查资料发现,打包后再运行的话,Controller类里返回的路径前不能加"/",如下面这种情况,要去掉路径前的“/”:

2.打包图片服务器项目

我的博客中用到了github上一个开源的小型图片服务器,spring boot + Mongodb写的,要将其打包并上传到云服务器中。

该项目使用的gradle工具构建的。

1) 修改项目中的build.gradle文件,加入下列语句:

tasks.withType(JavaCompile) { 
  options.encoding = "UTF-8" 
}

2) 使用下面的命令进行打包

gradle build

3) 此时build/libs目录下就会生成一个jar文件,执行启动即可

cd build/libs/
java -jar mongodb-file-server-1.0.0.jar

4) 将打包好的jar文件上传到云服务器上

复制代码 代码如下:

scp -P 22 /home/josiah/java/mongodb-file-server/build/libs/mongodb-file-server-1.0.0.jar josiah@47.94.154.205:/home/josiah

四、正式开始部署博客

到底之前部署博客的准备工作都已经结束了,接下来开始部署启动项目即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • JAVA实现按时间段查询数据操作

    JAVA实现按时间段查询数据操作

    这篇文章主要介绍了JAVA实现按时间段查询数据操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Java C++题解leetcode902最大为N的数字组合数位DP

    Java C++题解leetcode902最大为N的数字组合数位DP

    这篇文章主要为大家介绍了Java C++题解leetcode902最大为N的数字组合数位DP,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • 基于spring mvc请求controller访问方式

    基于spring mvc请求controller访问方式

    这篇文章主要介绍了spring mvc请求controller访问方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Spring中的@RestControllerAdvice注解使用方法解析

    Spring中的@RestControllerAdvice注解使用方法解析

    这篇文章主要介绍了Spring中的@RestControllerAdvice注解使用方法解析,@RestControllerAdvice是Controller的增强 常用于全局异常的捕获处理 和请求参数的增强,需要的朋友可以参考下
    2024-01-01
  • 使用Java实现简单搭建内网穿透

    使用Java实现简单搭建内网穿透

    内网穿透是一种网络技术,适用于需要远程访问本地部署服务的场景,本文主要为大家介绍了如何使用Java实现简单搭建内网穿透,感兴趣的可以了解下
    2024-02-02
  • Spring你不知道的一种解耦模式

    Spring你不知道的一种解耦模式

    本文介绍一种方法,服务定位模式Service Locator Pattern来解决,它帮助我们消除紧耦合实现及其依赖性,并提出将服务与其具体类解耦
    2023-01-01
  • java 输入3个数a,b,c,按大小顺序输出的实例讲解

    java 输入3个数a,b,c,按大小顺序输出的实例讲解

    今天小编就为大家分享一篇java 输入3个数a,b,c,按大小顺序输出的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Redis介绍和使用场景详解

    Redis介绍和使用场景详解

    这篇文章主要为大家详细介绍了Redis介绍和使用场景,需要的朋友可以参考,具体内容如下
    2018-04-04
  • java线程的run()没有返回值怎么办?

    java线程的run()没有返回值怎么办?

    java线程的run()没有返回值怎么办?本文给出了java线程的run()返回值为空的解决办法,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • SpringCloud的Hystrix简单介绍

    SpringCloud的Hystrix简单介绍

    这篇文章主要介绍了SpringCloud的Hystrix简单介绍,SpringCloud Hystrix是Netflix开源的一款容错框架,具备服务降级,服务熔断,依赖隔离,监控(Hystrix Dashboard)等功能,同样具有自我保护能力,需要的朋友可以参考下
    2023-07-07

最新评论