我尝试在基于 ubuntu 14.04 的 VPS 中运行我的 Web 服务器。正如我之前在其他系统上尝试过的那样,我可以通过转到 _http://myIp:8080 并查看“它工作正常”索引页来检查我的 tomcat 是否正常,但这次不行。老实说,我快要疯了,因为我不知道哪里出了问题。
我使用命令安装了 tomcat
apt-get install tomcat7
一切都很好。我检查了端口8080
是否打开,然后进入_http://myIp:8080
- 但什么也没发生。我看不到 404(这意味着 tomcat 管理请求)并且看不到“连接失败”(这意味着端口已关闭或 thmthng)。连接只是挂起了。
我尝试将 tomcat 端口更改为 1666(当然,我关闭了 ufw 防火墙)重新加载服务器,ROOT 部署再次正常。但我仍然无法从我的服务器获取任何信息(答案或错误)_http://myIp:1666
这里是catalina启动日志。
除了部署日志之外什么都没有。
我已经重新安装了 tomcat 几次,但仍然没有结果。
更新型多巴胺
我关闭了旧的 VPS 并创建了新的。再次通过 apt-get 安装了 tomcat 7,所以他正在监听 8080。这是我的 grep 结果
netstat -na | grep -e 1666 -e 8080
tcp6 0 0 :::8080 :::* LISTEN
天哪,这是否意味着 tomcat 绑定到 ipV6 而我试图通过 ipV4 获取我的页面?
UPD2
我使用以下代码为 tomcat 创建了 senenv.sh
JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true"
现在我的 tomcat 正在监听 ipv4 tcp。但仍然没有结果。当我尝试连接 myIP:8080 时,什么也没有发生/
-na | grep -e 1666 -e 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
UPD3
它他妈的能正常工作。
我不明白为什么,在重新启动 tomcat 后,我又花了 10 分钟上网,试图找到解决问题的方法。然后我再次尝试获取 myIP:8080 - 然后我看到了“它能正常工作”的索引页。
答案1
核心问题是 tomcat 监听 ipv6 tcp 端口。我尝试通过 ipv4 地址访问我的页面。因此,我在 /usr/share/tomcat7/bin 中创建了 setenv.sh,其中包含一行
JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true"
并通过以下方式重启 tomcat
sudo bash tomcat7 restart
在 /etc/init.d 然后再次检查我的端口
netstat -na | grep -e 8080
并且看到,现在使用的是 ipv4
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
几分钟后我就能访问我的index.html
感谢@Idaho06
netstat -na | grep -e 8080
如果没有它我就不会发现问题