Skip to content

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

Notifications You must be signed in to change notification settings

iandreyev/websocket-salesman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

О разработке

За основу взят пример 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

Все настройки iptables, которые вы указали с помощью этих команд сохранятся только до перезагрузки.

  • В Ubuntu выполните:
sudo /sbin/iptables-save
  • А в RedHat или CentOS:
sudo /sbin/service iptables save

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

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

cd /srv/ws
cp init/wsserver.service /etc/systemd/system/

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

  • WorkingDirectory на свою (использована /srv/ws)
  • указать исполняемый php и абсолютные пути до скрипта в параметрах ExecStart, ExecStop, ExecReload (использован /usr/bin/php) - рекомендуется указать абсолютный путь
# путь установки php
which php
# или
locate -b '\php'

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

systemctl enable --now wsserver
systemctl daemon-reload

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

systemctl status wsserver
systemctl stop wsserver
systemctl start wsserver

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

journalctl -u wsserver

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

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published