我已经从标准的Tomcat(谷歌点击部署(图像启动了一个谷歌GCP雄猫实例 这使用 Debian 9 作为操作系统。 我正在尝试在指向IP的浏览器上进行基本测试。地址:8080 但它超时了。 服务器.xml 在/etc/tomcat8 中告诉我 tomcat 在端口 8080 上运行
雄猫服务状态如下
tomcat1@generator1-vm:/etc/tomcat8$ sudo service tomcat8 status
● tomcat8.service - LSB: Start Tomcat.
Loaded: loaded (/etc/init.d/tomcat8; generated; vendor preset: enabled)
Active: active (running) since Mon 2018-05-21 13:34:38 UTC; 1h 7min ago
Docs: man:systemd-sysv-generator(8)
Process: 29722 ExecStop=/etc/init.d/tomcat8 stop (code=exited, status=0/SUCCESS)
Process: 29764 ExecStart=/etc/init.d/tomcat8 start (code=exited, status=0/SUCCESS)
Tasks: 16 (limit: 4915)
CGroup: /system.slice/tomcat8.service
└─848 /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Djava.util.logging.config.file=/va
May 21 13:34:33 generator1-vm systemd[1]: Starting LSB: Start Tomcat....
May 21 13:34:38 generator1-vm tomcat8[29764]: Starting Tomcat servlet engine: tomcat8.
May 21 13:34:38 generator1-vm systemd[1]: Started LSB: Start Tomcat..
lines 1-13/13 (END)
因此,这似乎意味着该服务确实正在运行,但是当我尝试浏览到IP时,我得到了服务超时。地址:8080 还有什么我可以检查的吗?
很有可能是GCP防火墙。 创建计算引擎实例时(这是您在部署 Tomcat 服务器时执行的操作(,您可以选择启用 HTTP 和/或 HTTPS,这将为您创建这些防火墙规则。 但 GCP 不会自动为端口 8080 创建规则,即使 Tomcat 可能正在使用它。 这可能就是您的客户超时的原因。
除非要为所有虚拟机打开端口 8080,否则最好在虚拟机上创建网络标记,然后创建防火墙规则,允许来自端口 8080 的流量传输到具有该网络标记的任何 VM。 首先,编辑虚拟机。 您可以通过单击屏幕左上角的汉堡菜单从 Web 控制台执行此操作,然后在"计算"部分中选择"计算引擎",然后选择"VM 实例"。 单击 VM 的名称,当详细信息页面出现时,单击屏幕顶部的"编辑"。向下滚动,直到看到"广告联盟代码"框,然后输入要使用的任何代码。 我建议像"端口8080"这样的东西。 然后单击屏幕底部的蓝色"保存"按钮。
再次单击汉堡菜单,这次从"网络"部分选择"VPC网络",然后选择"防火墙规则"。 单击屏幕顶部的"创建防火墙规则"。给它起任何你想要的名字。 在"网络"下拉列表中选择您的网络,如果您尚未创建任何自定义 VPC,则应只是"默认"。 您可以保持优先级不变。 选择"入口"作为方向,选择"允许"作为操作。 对于"目标",选择"指定的目标标记",对于"目标标记",输入您在上面创建的标记("port8080",或您选择调用它的任何名称(。 对于"源过滤器",选择"IP 范围",对于"源 IP 范围",输入 0.0.0.0/0(这是"每个人"的简写(。 跳过"第二个源过滤器"。 对于"协议和端口",选择"指定的协议和端口",然后在下面的框中输入"tcp:8080"。 然后单击"创建"按钮,您应该很高兴。