自己的博客终于成功部署上线了, 回过头来总结记录一下整个项目的部署过程!
测试地址: 47.94.154.205:8084
注: 文末有福利!
一 Linux 下应用 Shell 通过 SSH 连接云服务器
- //ssh 用户名 @公网 IP
- ssh josiah@ip
- // 输入密码
二开始搭建 SpringBoot 的运行环境
1.安装 JDK 并配置环境变量
1) 打开 JDK 官网 http://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.jarjosiah@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
四正式开始部署博客
到底之前部署博客的准备工作都已经结束了, 接下来开始部署启动项目即可
来源: https://www.cnblogs.com/Lovebugs/p/8606156.html