Я недавно настроил сервер на основе Ubuntu 18.04 и установил следующие инструменты для целей
- php 7.2
- Nginx
- Redis
- Socket.io
Основная проблема с socket.io
root@ubuntu:~# service socket-io status
● socket-io.service - Sellist Notification Service
Loaded: loaded (/etc/systemd/system/socket-io.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2019-11-05 07:14:58 UTC; 1h 0min ago
Process: 27489 ExecStart=/usr/bin/node /var/www/socket.io/server.js (code=exited, status=217/USER)
Main PID: 27489 (code=exited, status=217/USER)
Nov 05 07:14:58 ubuntu systemd[1]: socket-io.service: Service hold-off time over, scheduling restart.
Nov 05 07:14:58 ubuntu systemd[1]: socket-io.service: Scheduled restart job, restart counter is at 5.
Nov 05 07:14:58 ubuntu systemd[1]: Stopped Sellist Notification Service.
Nov 05 07:14:58 ubuntu systemd[1]: socket-io.service: Start request repeated too quickly.
Nov 05 07:14:58 ubuntu systemd[1]: socket-io.service: Failed with result 'exit-code'.
Nov 05 07:14:58 ubuntu systemd[1]: Failed to start Sellist Notification Service.
/ etc /systemd / system / socket-io.service
[Unit]
Description=Sellist Notification Service
After=network.target
[Service]
User=minion
Group=minion
Restart=always
ExecStart=/usr/bin/node /var/www/socket.io/server.js
[Install]
WantedBy=default.target
( step 1 ) Я установил вот так
mkdir -p /var/www/socket.io
cd /var/www/socket.io
**These 2 files are perfect no errors**
1. nano server.js
2. nano package.json
npm install
( step 2 ) Создана служба Systemd
vim /etc/systemd/system/socket-io.service
[Unit]
Description=Sellist Notification Service
After=network.target
[Service]
User=minion
Group=minion
Restart=always
ExecStart=/usr/bin/node /var/www/socket.io/server.js
[Install]
WantedBy=default.target
( шаг 3 ) Включите и запустите службы
systemctl enable socket-io && systemctl start socket-io
проверьте доступ - nginx bad gateway, но если я перейду к /var/www/socket.io Я могу запустить свой server.js , используя узел server.js , который прослушивает указанный порт совершенно нормально, нетболее плохой шлюз при проверке браузера,
, но когда я выхожу, слушая на терминале или закрытый, к сожалению, я вижу плохой шлюз nginx.
Но я не всегда могу запустить вручную, чтобы обслуживать сокет. на производственной средеКто-то, помогите мне избавиться от этой проблемы. в основном я нашел что-то pm2 или что-то, но без pm2 или каких-либо других инструментов мы могли бы запустить?