как запустить сервер socket.io в nginx + laravel - PullRequest
0 голосов
/ 19 июня 2020

Я использую socket.io + redis + express .js + laravel для своего проекта. Он отлично работает на локальной машине. Теперь я развертываю его на экземпляре nginx + linux aws ec2.

Я получил laravel, и redis работает нормально. Просто socket.io не знаю, как его запустить. Итак, что я делаю:

в laravel root .env файле

BROADCAST_PORT=3000;

в index. js расположен в laravel root ( socket.io сервер)

var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
require('dotenv').config();

var redisPort = process.env.REDIS_PORT;
var redisHost = process.env.REDIS_HOST;
var ioRedis = require('ioredis');
var redis = new ioRedis(redisPort, redisHost);
redis.subscribe('action-channel-one');

..................... ............... ...

в laravel файле шаблона, который подключается к socket.io

<script src="http://0.0.0.0:3000/socket.io/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>

<script>
 $(function () {
    var socket = io("http://0.0.0.0:3000");

Я получаю эту ошибку при подключении клиента:

http://0.0.0.0:3000/socket.io/socket.io.js net::ERR_ADDRESS_INVALID
Uncaught ReferenceError: io is not defined

порт это работает. Какой правильный URL для socket.io и как запустить node index.js?

...