Короткая шпаргалка по организации использования websocket на связке Workerman, Yii2 и NGINX. Без использования расширений Yii2 из репозитория composer.

Заметки по Workerman

Несколько вещей которые были для меня не очевидны.

  • голый Workerman запускается из консоли, запустить его в web action Yii2 не получится. Т.е. сначала надо его запустить на сервере, а потом уже использовать во вьюхах.
  • Workerman можно запустить с ключом -d чтобы демонезировать его
  • мы запускаем Workerman в виде http сервера, а NGINX может проксировать любой трафик в том числе ws и wss

Все нижеописанное работает, но не очень красиво, я это понимаю ;)

Установка Workerman

Идем в папку с установленным Yii2 (где композер и папка вендор)

Настраиваем проксирование NGINX

 Запускаем сервер Workerman

Для этого сделаем файлик в корне домена. Назовем его ws.php. Там что-то вроде.

Чтобы его запустить в консоли запускаем

 Обращение к Workerman через Javascript websocket

 

23 мая 2019 |

2 Комментариев к “Websocket , Workerman, Yii2 и NGINX”

  1. Anton 2 сентября, 2019

    Как сделать чтобы wokerman запускался автоматом после перезагрузки сервера?

  2. Azzrael 1 октября, 2019

    Anton, я в итоге отказался от Workerman для своих задач, поэтому автозагрузку не делал. Но если бы было надо, то гугление начал бы с init.d/skeleton .

Есть что сказать по теме статьи? Пожалуйста - пишите!