Spoiler: CloudFlare port for Websocket
Sample configs for connecting through a proxy
Spoiler: Nginx
NGINX:
location /socket.io/ {
proxy_pass http://127.0.0.1:2053;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
Spoiler: OpenLiteSpeed
Code:
extprocessor socket.io {
type proxy
address 127.0.0.1:2053
maxConns 2000
pcKeepAliveTimeout 60
initTimeout 60
retryTimeout 0
respBuffer 0
}
context /socket.io/ {
type proxy
handler socket.io
addDefaultCharset off
}
websocket /socket.io {
address 127.0.0.1:2053
}
Managing a socket server as a Systemd service
Create a file named "
livecontent.service
" along the path "
/etc/systemd/system
".
You can create it manually or execute it in the console "
systemctl edit --force --full livecontent.service
"
In the created file, we write the unit instructions.
Rich (BB code):
[Unit]
Description=Live Content socket server
After=mysql .service
Requires=mysql .service
[Service]
Type=forking
PIDFile=/www/wwwroot/xendev.ru /src/addons/DCom/LiveContent/SocketServer/SwooleServer/swoole_server.pid
WorkingDirectory=/www/wwwroot/xendev.ru
ExecStart=/usr/bin/php socket_server.php start
ExecStop=/usr/bin/php socket_server.php stop
ExecReload=/usr/bin/php socket_server.php restart
TimeoutSec=300
Restart=always
[Install]
WantedBy=multi-user.target
Alias=livecontent.service
Variables in bold change to your own depending on the system
Do not forget to reload the systemd daemon after fixes in the unit
systemctl daemon-reload
We look at the status of the unit
systemctl status livecontent
We see that it is disabled - we allow it
systemctl enable livecontent
systemctl -l status livecontent
Starting the service
systemctl start livecontent
We look at the beautiful status:
systemctl -l status livecontent