这几天尝试使用springboot的jar包方式部署云端,总结一下经验和遇到的问题
一、springboot项目部署云端Linux
1、打包
1、设置一个云端未使用的端口,springboot以jar包形式运行会占用这个端口
2、pom.xml打包方式改为jar
3、使用maven工具打包,先clean一下再使用package打包成jar包
打包完成生成一个.jar文件
2、上传云服务器
3、部署jar包相关linux命令
启动:
#运行jar包(关闭终端后就终止)
java -jar xxx.jar
#以nohup模式运行,关闭终端后仍在后台运行,jar包运行日志输出在webLog.txt中
nohup java -jar xxx.jar > webLog.txt &
如何关闭nohup java呢?
#找到所有java进程,看看我们的项目是那个进程
ps aux | grep java
#找到项目的pid,用kill关闭
kill -9 pid
二、jar包方式文件上传的路径问题
1、问题引入
在idea开发工具中,我们不是用jar包方式运行,在文件上传时常常选择上传到target/classes/static
下的一个目录
**举例:**拿我这个图片上传函数来说,我的想法是将上传的图片传到static目录下,因为springboot自动配置了static目录下能直接用/upload/xxx.jpg
读取到图片资源,在函数末尾,我直接将访问路径/upload/filName
返回给了前端,idea中是能读取到图片的。
@RequestMapping("/uploadImage")
@ResponseBody
public JSONObject uploadImg (MultipartFile file) throws Exception{
//文件后缀