4
JackLin的博客
首页
分类
标签
生活
时间轴
关于我
友链
搜索
管理员
SpringBoot博客部署到阿里云服务器
阿里云
SpringBoot
Linux
发布日期:
2020-04-15 15:16:50
阅读量:
171
所属分类:
SpringBoot
个人博客的开发已经基本的完成,下一步就是将这个SpringBoot项目部署一下了。 之前部署SSM项目时,打成war包,丢进webapps目录下就完事了;现在部署的是SpringBoot项目,需要达成jar包,然后在服务器上直接 `java -jar 你的jar包名称.jar` ,下面来说一下详细步骤。 参考的博客:https://yq.aliyun.com/articles/717107 ### 环境准备 (1)阿里云Linux服务器,我的是CentOS7.7版本 (2)远程连接工具Xshell,Xftp (3)一个SpringBoot项目 ### 具体步骤 #### (1)将自己的SpringBoot项目达成jar包 > 直接运行Maven的package命令就行了  接着就可以看到在target目录下生成的 jar 包了  #### (2)将生成的jar包上传到Linux服务器上 利用Xftp,直接将生成的jar包拖拽到home目录下面(目录可以自己选择) 此时如何直接解压运行的话,可以访问没问题,但是一旦你的Xshell一旦关闭,就会发现访问不了了。所以我们还需要让它后台运行,参考网上的几位大神的做法,写几个脚本文件来运行。 ##### 1. stop.sh ``` #!/bin/bash PID=$(ps -ef | grep 你的jar包名称.jar | grep -v grep | awk '{ print $2 }') if [ -z "$PID" ] then echo Application is already stopped else echo kill $PID kill $PID fi ``` ##### 2. start.sh 我们这里使用80端口,那么就可以直接输入域名访问 ``` #!/bin/bash nohup java -jar qcl80.jar --server.port=80 & ``` ##### 3. run.sh ``` #!/bin/bash echo stop application source stop.sh echo start application source start.sh ``` 创建完这3个脚本程序之后,我们的目录结构应该是这样子的: ``` [root@iZ8vb4nxo286gank0k9m3oZ jar]# ls -l total 33200 -rw-r--r-- 1 root root 33460169 Apr 15 11:46 myblog-0.0.1-SNAPSHOT.jar -rw------- 1 root root 524200 Apr 15 15:29 nohup.out -rwxr--r-- 1 root root 88 Apr 15 09:59 run.sh -rwxr--r-- 1 root root 73 Apr 15 10:00 start.sh -rwxr--r-- 1 root root 198 Apr 15 10:01 stop.sh ``` 然后在该目录下执行 `./run.sh` 如何没有权限,可以执行 `chmod u+x *.sh` 此时这里出了一点小BUG,由于之前我是利用记事本编辑的脚本文件,所以默认的是dos格式,即每一行结尾以\r\n来标识,而unix格式的文件行尾则以\n来标识,我们需要的格式是unix格式。 可以通过命令 `cat -A filename` 来查看文件格式,dos格式的文件行尾为^M$,unix格式的文件行尾为$ PS:如果一开始就是利用Vim来编辑的脚本文件,则不会出现这种情况 解决办法:把格式改过来就行啦!(3个脚本文件都要改一下) ``` vi build.sh :set ff :set fileformat=unix :wq ``` 接着运行 `./run.sh` ,出现以下输出表示就运行成功了 ``` [root@iZ8vb4nxo286gank0k9m3oZ jar]# ./run.sh stop application kill 9214 start application [root@iZ8vb4nxo286gank0k9m3oZ jar]# nohup: appending output to ‘nohup.out’ ```