云端部署项目
一、博客背景
自从买了云服务器我就开始在部署项目,部署的是springboot,花了快2天才部署好,哎,顿时感觉不用框架直接原生的多好,直接对tomcat,就不用踩那么多坑了,哈哈,开玩笑的。现在我就将部署的方法写在这里让大家少踩这个坑。
二、方法
先说一下springboot由于自带tomcat,所有要打包成jar包(war包的我没试过)
①maven
maven怎么下载和部署就不说了,自己去百度找
②webapp下的web-inf的lib的jar问题
这里是需要注意的,没处理好就连jar包都打不了,会报这些jar上的类找不到。
那么这里有两种方式,一种是把这些jar导入到自己maven仓库,这样maven打包的时候就好根据依赖打包这些jar包,另一种是设置好资源路径(这先不讲,后面会说到)
这里我把这jar包先导成一个jar包
进入cmd,输入命令
mvn install:install-file -Dfile=jar包名字 -DgroupId=自己取个名字 -DartifactId=自己取个名字 -Dversion=写个版本号 -Dpackaging=jar,
这样我们就可以在依赖写到
③pom的xml修改
这里请改成jar而不是war
④项目要是jdk
点击ecplise的window/preferences/java/installed jres,请在这里选择jdk,不然打包的时候回报出错误
⑤pom插件
注意红线的版本号,网上说只有这个版本才不会让你jsp无法访问(我本来没有指定版本号也的确访问不到jsp,当加上去之后就访问的到)
⑥静态资源跟jsp的打包
请在pom的xml加入
有了这些你的静态资源跟jsp就可以打包进来。不加它是不会打包的
⑦打包,右击pom.xml
填package
出现如下画面表示打包成功
进入项目的target文件内
⑧云端的部署
在云端的home文件下新建一个jar文件夹,把jar传到改文件夹下
⑨编写脚本启动
创建一个start.sh文件,内容写
nohup java -jar house-client.jar --server.port=8088 &
加粗部分就是jar名字,端口可以改,其他不改
创建一个stop.sh,内容为
#!/bin/bash
PID=$(ps -ef | grep house-client.jar | grep -v grep | awk '{ print KaTeX parse error: Expected 'EOF', got '}' at position 3: 2 }̲')
if [ -z "PID" ]
then
echo Application is already stopped
else
echo kill $PID
kill $PID
fi
加粗部分就是自己的jar包名字,其他不要改
⑩启动
通过阿里云进入终端,进入到home/jar文件下
我们可以在第三方工具上查看nohup.out文件,这是一个记录jar启动时的日志文件来观察是否成功
哈哈,成功了