Я использую 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
?