jar包部署云端之–快速部署
怎么将本地springboot项目部署在远程的linux上?
萌新在学习项目的时候,总会遇到本地写完的项目部署在云端的情况。所以写此贴进行以下总结。
一、本地生成正确springboot项目jar包
第一步
首先本地的项目在idea上能正常启动。
第二步
查看pom文件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.llbnk.App</mainClass>
<!--这个就是你的springboot的启动类 -->
</configuration>
</plugin>
</plugins>
<finalName>speed_buy_project</finalName>
<!--你导出的项目的名字-->
</build>
注意这个地方,把项目中一些无关的东西统统去掉!!!!!。
比如说,什么mybatis一些反编译生成工具!!!
或者一些什么maven的编译的plugin能去掉就去掉!!!!
本萌新就是因为在build中添加了太多plugin,导致jar运行出现找不到主类错误和noclass这些错误!!
![找不到主类错误](https://img-blog.csdnimg.cn/629b1d76bdac4416801c04282cf436d1.png
血一样的教训,大家一定要检查好自己的pom文件。
第三步
编译jar包。
然后使用install或者package进行打包。
在你电脑的target文件下可以找到jar包(注意如果上面步骤成功了,会出现一个jar.original这个文件如果没有这个文件说明上面哪里出现了问题!!)
如果到这里可以看出已经生成对的jar包文件了。
二、本地跑通jar包
要想在linux上跑通jar包首先本地得能先跑通。不要幻想本地都跑不通linux就出现奇迹了,奇迹只有windows上能通linux上通不了。
对应你的项目的target目录。
然后使用cmd打开命令行。
输入命令启动jar在本地先运行。
java -jar 你自己的项目名.jar
如果没有什么意外,就能正常在本地运行jar包了。
这个时候你最好访问一下url看看是不是你的项目在本地能提供对的json结果。
本萌新在跑的时候就发现了一个错误。
发现Base64Encoder这个类不可用的情况需要替换成java自带的Base64。
三、云端跑通jar包
使用Xftp连接你的linux系统(可以是本地的VMWare也可以是阿里云腾讯云等等)
将你的jar包拷到对应的linux路径上。这里我拷贝到了**/opt**目录下。
打开linux系统
查看是否已经载入jar包
此时你也可以新建一个文件夹或者直接在opt下运行都行。推荐新建一个文件夹。
我将jar文件拷到/var/www/speed_buy_project路径下。
//创建文件夹命令
mkdir 你要设置的文件夹
//移动jar包从A到B
mv A B (写绝对路径)
你还需要chmod -R 777 *命令将其变成可操作的
chmod -R 777 *
。
到这步就可以类似于本地一样进行
java -jar 你自己的项目名.jar
如果没有什么意外,就能正常在远运行jar包了。
这个时候你就可以通过远程的地址访问项目了。
如果是阿里云可以通过工ip地址来进行访问
可以看到都能访问这个就对了。
四、云端deploy部署
我们发现jar包每次打包上传很麻烦,而且每次如果改变端口,还需要再idea.上改动然后再打jar包太麻烦了。我们想采用远程配置的方式进行建立在远程服务器上的部署。
在这里我们以端口号为例,原端口号设置的是9000,我们想在linux部署端口号为8888 。
新建立一个properties文件,这个文件的作用就是会覆盖你原来项目的properties转为加载你这个properties文件。
更改端口号为8888
再创建一个deploy.sh文件
vim deploy.sh
,这个文件的作用是采用deploy文件部署,可以让java项目一直再linux后台运行文件里面使用nohup命令可以设置jvm虚拟机参数已经properties替换文件等
nohup java -xms400m -Xmx400m -XX:NewSize=200m -XX:MaxNewSize=200m -jar speed_buy_project.jar --spring.config.addition-location=/var/www/speed_buy_project/application.properties
部署项目
./deploy.sh &
此时项目已经后台部署了
我们可以通过命令tail -200f nohup.out
来查看项目运行状况。
此时我们的deploy部署就完成了。
总结
这次的部署记录就到这了。
原文地址:https://www.jb51.cc/wenti/3284089.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。