自己的博客终于成功部署上线了,回过头来总结记录一下整个项目的部署过程!

测试地址: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  /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......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..0_161

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

source /etc/environment

②添加用户环境变量

sudo vi /etc/profile

加入下列内容:

export JAVA_HOME=/home/josiah/Java/jdk1..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.linuxidc.com/Linux/2017-10/147460.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.-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./conf/settings.xml  ~/.m2

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

sudo vi /home/josiah/apache-maven-3.5./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  /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.-SNAPSHOT.jar

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

scp -P  /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..jar

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

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

四、正式开始部署博客

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

最后,给大家推荐一个良心公众号【IT资源社】:

本公众号致力于免费分享全网最优秀的视频资源,学习资料,面试经验等,前端,PHP,JAVA,算法,Python,大数据等等,你想要的这都有

IT资源社-QQ交流群:601357554

微信搜索公众号:ITziyuanshe 或者扫描下方二维码直接关注,

里面基本什么资料都有,基础到进阶到项目实战,如果觉得不够还可以加群跟群主要,最重要的是全部免费!

从零部署Spring boot项目到云服务器(准备工作)的更多相关文章

  1. 从零部署Spring boot项目到云服务器(正式部署)

    上一篇文章总结了在Linux云服务器上部署Spring Boot项目的准备过程,包括环境的安装配置,项目的打包上传等. 链接在这里:http://www.cnblogs.com/Lovebugs/p/ ...

  2. 【Spring Boot】Spring Boot之使用Alibaba Cloud Toolkit(Idea插件)本地一键部署Spring Boot项目到远程服务器

    一.Alibaba Cloud Toolkit(Idea插件)的安装 1)Alibaba Cloud Toolkit 介绍 Cloud Toolkit 是本地 IDE 插件,帮助开发者更高效地开发.测 ...

  3. Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

    最近接外包,需要部署服务器,便是参考了网上的几篇博文,成功在阿里云服务器成功部署了Spring Boot项目,特记下本篇笔记 Spring Boot项目打包 这里说一下部署的一些问题 1.mysql驱 ...

  4. Linux云服务部署Spring boot项目

    Linux云服务部署Spring boot项目 背景: 之前经过两个周的时间,做了一个简单的博客网站,网址:点击进入,在本地可以正常使用以后,想着部署到服务器上,给大家伙看个乐呵,于是有了这篇部署文章 ...

  5. 使用Docker部署Spring boot项目

    Docker是一个使用广泛的Linux容器管理工具包,它允许用户创建镜像,并将其容器实例化.通过本指南,我们可以学习到如何使用Docker部署Spring Boot项目. 先决条件 开发之前,你必须具 ...

  6. Spring Boot 2 (六):使用 Docker 部署 Spring Boot 开源软件云收藏

    Spring Boot 2 (六):使用 Docker 部署 Spring Boot 开源软件云收藏 云收藏项目已经开源3年多了,作为当初刚开始学习 Spring Boot 的练手项目,使用了很多当时 ...

  7. Docker Gitlab CI 部署 Spring Boot 项目

    目前在学习这一块的内容,但是可能每个人环境都不同,导致找不到一篇博客能够完全操作下来没有错误的,所以自己也写一下,记录一下整个搭建的过程. Docker 的安装这里就不赘述了,基本上几行命令都可以了, ...

  8. Gitlab CI 集成 Kubernetes 集群部署 Spring Boot 项目

    在上一篇博客中,我们成功将 Gitlab CI 部署到了 Docker 中去,成功创建了 Gitlab CI Pipline 来执行 CI/CD 任务.那么这篇文章我们更进一步,将它集成到 K8s 集 ...

  9. 使用 Docker 部署 Spring Boot 项目

    Docker 介绍 Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口.它是目前最流行的 Linux 容器解决方案. Docker 将应用程序与该程序的依赖,打包在一个文件里面 ...

随机推荐

  1. 错误代码: 1052 Column 'stu_id' in field list is ambiguous

    1.错误描述 1 queries executed, 0 success, 1 errors, 0 warnings 查询:select stu_id, (SELECT stu_name FROM t ...

  2. 错误代码: 1248 Every derived table must have its own alias

    1.错误描述 1 queries executed, 0 success, 1 errors, 0 warnings 查询:SELECT stu_id, (SELECT stu_name FROM t ...

  3. 浅谈IT企业挑选技术人员招聘几个要点

    在实际人员招聘的一些感想总结,企业需要怎么样的人才,个人总结如下: 1.技术能力不是第一位 企业在招聘一个人的时候往往看你第一点不是技术实力,而是你个人言谈行为和态度,往往一个面试你的人员他不可能在半 ...

  4. Asp.net的sessionState四种模式配置方案

    sessionState节点的配置 web.config关于sessionState节点的配置方案,sessionState有四种模式:off,inProc,StateServer,SqlServer ...

  5. CentOS配置日志集中管理

    ①首先有产生日志的服务器和储存日志的服务器 ②产生.接收日志的服务器都必须安装rsyslog服务(可以通过yum.rpm.源码包安装),rsyslog支持C/S模式 ③日志存储服务器需要编辑rsysl ...

  6. 启动就加载(三)initializingbean实现afterPropertiesSet方法

    TransactionTemplate,就直接以TransactionTemplate为入口开始学习. TransactionTemplate的源码如下: public class Transacti ...

  7. 异常-----freemarker.template.TemplateException: Error executing macro: write

    freemarker自定义标签 1.错误描述 六月 05, 2014 11:31:35 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严 ...

  8. 基于Spring Boot的RESTful API实践(一)

    1. RESTful简述    REST是一种设计风格,是一组约束条件及原则,而遵循REST风格的架构就称为RESTful架构,资源是RESTful的核心,一个好的RESTful架构,通过URL就能很 ...

  9. C# SerialPort自定义串口DCB

    C# SerialPort自定义串口DCBChange DCB fields from SerialPort instance CPS:中文DCB结构详解表 译自Change DCB fields f ...

  10. MyEclipse开发平台下如何将新建的JSP页面的默认编码格式设置为UTF-8--JSP

    新建的JSP页面原始的编码格式是ISO-8859-1(测试的MyEclipse版本为2014),它是不支持中文,在预览JSP页面时会出现乱码的现象.当然自己手动改一下编码格式就好了,但是那太过麻烦,每 ...