• 从零部署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.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.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

    四、正式开始部署博客

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

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

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

    IT资源社-QQ交流群:601357554

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

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

  • 相关阅读:
    幂等性-接口安全性
    spring 事务
    Disruptor 并发框架
    java中锁的应用
    线程池原理
    并发队列阻塞式与非阻塞式的区别
    Swagger UI教程 API 文档神器 搭配Node使用
    linux ssh_config和sshd_config配置文件
    Linux中iptables设置详细
    Linux(Centos)之安装Redis及注意事项
  • 原文地址:https://www.cnblogs.com/Lovebugs/p/8606156.html
Copyright © 2020-2023  润新知