在部署项目到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里再来个配置,确保一定会扫描匹配到该文件
<build>
<resources>
<resource>
<directory>src/main/javadirectory>
<includes>
<include>**/*.xmlinclude>
includes>
resource>
resources>
build>