Запустите веб-сокет PHP на виртуальной машине Google Cloud

Я создал экземпляр Google Cloud Virtual Machine с bitnami LAMP для запуска PHP, MySQL и apache.

  • Я разрешил использование брандмауэра на порту 8086 в Google Cloud Platform.

Я создал два файла:

  1. server.php, который

    • stored in google cloud
    • создать серверный сокет на порту 8086
    • запустить с помощью SSH с PHP-CLI
    • сокет привязывается и успешно прослушивает порт 8086
  2. client.php, который

    • stored in my local PC
    • попробуйте подключиться к IP и ПОРТу (8086) экземпляра Google Cloud.

Теперь проблема в том, когда client.php пытается подключиться к серверному сокету через порт 8086, это занимает слишком много времени, а затем показывает ошибку, сообщающую, что: Время ожидания подключения истекло

  1. Любая ссылка относительно связи через веб-сокеты на облачной платформе Google?
  2. Есть ли другой экономичный способ общения в реальном времени?
  3. Или мне следует попробовать другой VPS, например Digital Ocean?

person Jaldhi Bhatt    schedule 10.01.2018    source источник


Ответы (3)


Была почти такая же проблема, но с node.

Вы должны разрешить порт в брандмауэре в Google Cloud и на виртуальной машине, чтобы это работало.

В Google Cloud вы должны открыть его, как этот ответ: Как открыть определенный порт, например 9090, в Google Compute Engine

Если у вас есть ubuntu на вашей виртуальной машине, вы открываете порт, набрав: sudo ufw enable // Это разрешает брандмауэр sudo ufw allow 8086 // Это разрешает ваш порт

Надеюсь, поможет.

person Fernando León    schedule 08.02.2018
comment
Да, спасибо, это решение сработало, я не запустил сервер на правильном порту. - person Jaldhi Bhatt; 09.02.2018
comment
у меня есть открытый порт в экземпляре облачной виртуальной машины Google, но как запустить php-socket.php в браузере терминала хостинга, показывает, что Firefox не может установить соединение с сервером по адресу wss://domain:9090/beta/chat_socket/php-socket. php. - person Gajanan Chitare; 14.02.2019
comment
Запускают ли Google Compute Engines, vps сокеты node.js? - person Hatim; 11.07.2019

у меня есть открытый порт в экземпляре Google Cloud vm, но как запустить php-socket.php на хостинговом терминале

браузер показывает, что Firefox не может установить соединение с сервером по адресу wss://domain:9090/beta/chat_socket/php-socket.php.

person Gajanan Chitare    schedule 14.02.2019

ВАЖНЫЙ! Крайне важно, чтобы вы выполнили следующие 3 команды, чтобы не потерять доступ к инстансу по SSH и разрешить трафик http и https:

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

Если вышеуказанное не будет выполнено, вы потеряете доступ к своей виртуальной машине после закрытия консоли SSH.

@ Фернандо Леон: вы можете отредактировать свой ответ, добавив эти 3 строки, если вам это нравится, спасибо.

person Ernesto Maldonado    schedule 26.10.2019