Короткая шпаргалка по организации использования 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