/websocket-salesman

Реализация собственного ws-сервера + примеры использования. Не подходит для чатов. Разрабатывается под нужды SalesMan CRM (https://salesman.pro)

Primary LanguageCSS

О разработке

За основу взят пример SimpleAsemblyWebsoket, основанный на Workerman.

Дополнительные материалы:

Задача

  • Разработать инструмент для поднятия websocket-сервера и работы с ним

Возможности

  • Обмен сообщениями между frontend и backend

Требования

  • PHP 7.2+
  • Модули PHP
    • posix
    • socket

Настройка Firewall

  • iptables -I INPUT 10 -p tcp --dport 8089 -j ACCEPT
  • iptables -I INPUT 10 -p tcp --dport 8099 -j ACCEPT

Стартовый скрипт

Прилагаемый в комплекте файл init/wsserver.service необходимо скопировать в каталог /etc/systemd/system

cd /srv/ws
cp init/wsserver.service /etc/systemd/system/
systemctl enable --now wsserver

И изменить в нем

  • WorkingDirectory на свою (использована /srv/ws)
  • указать исполняемый php в параметре ExecStart (использован /opt/php81/bin/php) - рекомендуется указать абсолютный путь

Перезапустить службу

systemctl daemon-reload 

Дальнейшее управление службой производится следующими командами:

systemctl status wsserver
systemctl stop wsserver
systemctl start wsserver

Посмотреть логи

journalctl -u wsserver

Ссылки по теме демонизации скриптов PHP