在部署项目到liunx的时候遇到了这样的问题,但是在本地运行的时候都是ok的,就只能依次排查啦。
以下是我的解决思路~ 希望可以帮到大家~
先确定项目在linux是否可用
在liunx上启动项目后使用crul命令试试是否可通
URL为你的接口地址,POST请求使用-d带上所需参数
#GET curl URL #POST curl -X POST -d 'a=1&b=text' URL #json格式 curl -H "Content-Type: application/json" -X POST -d '{"a":1,"b":"text"}' URL curl -H "Content-Type: application/json" -X POST -d @test.json URL
几种情况:
使用localhost、127.0.0.1执行失败
1、重新打jar包,看日志等,自行排查项目原始问题
2、检查配置文件里server.address和server.port是否匹配
3、检查是否有冲突或端口已被占用,若被占用可杀掉之前进程然后再尝试
#查看日志 tail -f XX.log cat -n filename|grep "关键字" #查找进程 netstat -nlp | grep :80 ps -ef | grep java ps aux|grep jar #杀死进程 pid为进程号 kill -9 pid #查看端口号占用情况 netstat -anp|grep 端口号 losf -i 端口号
使用localhost、127.0.0.1执行成功,但使用ip执行失败
1、检查端口号在linux上是否开放
2、使用云服务器的还需检查是否在相关管理后台开放端口
liunx开启端口8181
firewall-cmd --zone=public --add-port=8181/tcp --permanent
重启防火墙
firewall-cmd --reload
查看已经开放的端口
firewall-cmd --list-ports
3、检查配置文件将server.address改为0.0.0.0
然后请重新打jar包再次尝试~
server.address=0.0.0.0
4、修改配置文件后是否生效
可以在pom里再来个配置,确保一定会扫描匹配到该文件
src/main/java **/*.xml