步骤如下:
1.用idea打包好jar包
建议按照图示1,2,3进行,打包好的jar一般比较大,如果发现jar比较小,很可能不正确。这时检查pom.xml中的maven-plugin配置,打包好的jar包在对应工程的target中
2.将jar包上传到linux服务器上,工具很多,方法也有很多,不会请找度娘,此处以mac命令scp为例
打开终端(idea中的Terminal,其他工具item2也可以)输入如下指令
指令格式:
scp jar包全路径 root@公网ip:目标文件路径
示例:
scp /Users/IdeaProjects/my-project/test-project/test-api/target/test-api.jar [email protected]:/opt/test/
特别注意:目标文件路径如果含有不存在的文件夹会报错,提前进入linux创建好文件夹
用ssh工具连接服务器,使用mkdir 命令创建文件夹
指令格式:
mkdir 文件夹名
示例:
1.在当前路径下创建test-file的文件夹
mkdir test-file
2.在指定/opt下创建test文件夹
mkdir /opt/test
补充:
创建文件
touch 文件名
示例:
touch job.log
第2步指令输入完成回车后,提示输入密码,输入后并回车,会有上传进度条
3. 进入linux刚上传完成jar所在到目录(cd /opt/test),不进入目录也可以,但是需要输入jar包所在的全路径
nohup java -jar test-api.jar --spring.profiles.active=prd --server.port=8080 >/opt/logs/xxx-logs.txt &
注意:上述指令&不要忘记了
回车可能会提示“忽略输入重定向错误到标准输出端”类似错误,解决方法如下
执行nohup java -jar test-api.jar & 运行jar会提示:nohup: 忽略输入并把输出追加到"nohup.out"
执行nohup java -jar test-api.jar >/dev/null & 运行jar会提示:nohup: 忽略输入重定向错误到标准输出端
修改运行方式为nohup java -jar test-api.jar >/dev/null 2>&1 &即可。
至此已经完成部署jar包
补充可能用到的linux命令:
1. ps 查询进程
通常使用ps -ef查看,启动参数会一起显示,【推荐】
2.可通过jobs命令查看后台运行任务
jobs
3.结束进程
kill -9 pid号
示例:
kill -9 12303
4.查看某个端口占用pid
指令格式:
netstat -nlp |grep :端口号
示例:
netstat -nlp |grep :8080
结果