【问题标题】:Cant get Tomcat running on a Google GCP instance无法在 Google GCP 实例上运行 Tomcat
【发布时间】:2018-05-23 05:41:49
【问题描述】:

我已经从标准 Tomcat(Google 点击部署)图像启动了一个 google GCP tomcat 实例 这使用 Debian 9 作为操作系统。 我正在尝试对指向 IP.ADDRESS:8080 的浏览器进行基本测试,但它超时了。 /etc/tomcat8 中的 server.xml 告诉我 tomcat 正在端口 8080 上运行

tomcat服务状态如下

    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.ADDRESS:8080 时出现服务超时 还有什么我可以检查的吗?

【问题讨论】:

标签: linux google-cloud-platform tomcat8


【解决方案1】:

很可能是 GCP 防火墙。当您创建一个 Compute Engine 实例(这是您在部署 Tomcat 服务器时所做的)时,您可以选择启用 HTTP 和/或 HTTPS,这将为您创建这些防火墙规则。但是 GCP 不会自动为端口 8080 创建规则,即使 Tomcat 可能正在使用它。这可能就是您的客户端超时的原因。

除非您想为所有虚拟机打开端口 8080,否则最好的做法是在虚拟机上创建一个网络标记,然后创建一个防火墙规则,允许来自端口 8080 的流量传输到任何虚拟机有那个网络标签。首先,编辑您的虚拟机。您可以从 Web 控制台执行此操作,方法是单击屏幕左上角的汉堡菜单并在“计算”部分选择“计算引擎”,然后选择“VM 实例”。单击您的 VM 名称,然后出现详细信息页面单击屏幕顶部的“编辑”。向下滚动直到看到“网络标签”框,然后输入您想要使用的任何标签。我建议使用“port8080”之类的内容。然后单击蓝色的“保存”屏幕底部的按钮。

再次点击汉堡菜单,这次从“网络”部分选择“VPC 网络”,然后选择“防火墙规则”。单击屏幕顶部的“创建防火墙规则”。给它起任何你想要的名字。在“网络”下拉列表中选择您的网络,如果您尚未创建任何自定义 VPC,则该网络应为“默认”。您可以保持优先级不变。为方向选择“入口”,为操作选择“允许”。对于“目标”,选择“指定的目标标签”,对于“目标标签”,输入您在上面创建的标签(“port8080”,或您选择的任何名称)。对于“源过滤器”,选择“IP 范围”,对于“源 IP 范围”,输入 0.0.0.0/0(这是“所有人”的简写)。跳过“第二个源过滤器”。对于“协议和端口”选择“指定的协议和端口”,然后在下面的框中输入“tcp:8080”。然后单击“创建”按钮,您应该一切顺利。

【讨论】:

    猜你喜欢
    • 2017-01-22
    • 2019-04-09
    • 2020-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多