在Google Cloud Virtual Machine上运行PHP Web套接字

问题描述 投票:0回答:3

我用bitnami LAMP创建了Google Cloud虚拟机实例,以启动PHP,MySQL和apache。

  • 我已在Google Cloud Platform的端口8086上允许防火墙。

我创建了两个文件:

  1. server.php,是

    • 存储在谷歌云中
    • 在端口8086上创建服务器套接字
    • 与PHP-CLI一起使用SSH运行
    • 套接字已绑定并成功侦听端口8086
  2. client.php,是

    • 存储在本地PC中
    • 尝试连接到Google Cloud Instance的IP和PORT(8086)。

现在的问题是,当client.php试图连接到端口8086上的服务器套接字时,花费的时间太长,然后显示错误消息:连接超时

  1. 关于Google Cloud Platform上的Web套接字通信的任何参考吗?
  2. 还有其他成本有效的方式进行实时通信吗?
  3. 或者我是否应该尝试另一个像Digital Ocean这样的VPS?
php websocket real-time google-cloud-functions phpwebsocket
3个回答
0
投票

几乎有完全相同的问题,但是有节点。

您还应该允许Google Cloud和虚拟机中的防火墙中的端口正常工作。

在Google Cloud中,您应按以下答案打开它:How to open a specific port such as 9090 in Google Compute Engine

如果您的VM中有ubuntu,请打开端口并输入:sudo ufw enable //允许防火墙sudo ufw allow 8086 //这允许您的端口

希望有帮助。


0
投票

我在Google Cloud VM实例上具有开放端口但是如何在托管终端上运行php-socket.php

浏览器显示Firefox无法在wss:// domain:9090 / beta / chat_socket / php-socket.php建立与服务器的连接。


0
投票

重要!必须执行以下3个命令,以免通过SSH失去对实例的访问并允许http和https流量:

sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443

如果不执行上述操作,则关闭SSH控制台后,您将无法访问VM。

@@ FernandoLeón:如果愿意,您可以编辑答案并添加3行,谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.