Уроки Laravel Vue: Redis Node и Socket.IO обновление диаграммы в режиме реального времени | free way
HTML-код
- Опубликовано: 21 окт 2024
- Laravel 5.5, 5.6 и выше
Подписывайтесь на канал: goo.gl/4pPb9b
Все новости и тонкости работы с Laravel у нас.
============
Не бойтесь открывать ссылки они сделаны с помощью сервиса google: goo.gl/
Описание:
Начнем обучаться правильно работать с vue в laravel.
Laravel realtime free way.
Laravel реалтайм бесплатно.
$-------Реквизиты для поддержки проекта -------$
Находятся на нашем сайте по адресу dka-develop.ru:
goo.gl/BSr65a
-----------------------------------------------------
Официальный сайт:
dka-develop.ru
Music:
Triumph - Yung Logos
Music: Alexandr Tulupov
Братишки, кто на Windows: ruclips.net/video/ncFhlv-gBXQ/видео.html - настройка редис, смотрим до 3:00
Далее все по этому божественному видосику :)
Кому лень смотреть, вот настройка REDIS on Windows:
1. Заходим: github.com/MicrosoftArchive/redis/releases
2. Качаем последний релиз zip
3. Распаковываем куда удобно
4. Запускаем redis-server.exe
5. Запускаем redis-cli.exe
6. Балуемся с ping PONG...
7. Далее не закрывая эти окна смотрим эту видюшку :)
А еще можно скачать Laragon там он есть встроенный
Благодарен за такое внимание к деталям php. Так гораздо проще усваивать информацию.
Смотрел, пересматривал, дебажил данный код где-то пол года. Даже боюсь смотреть следующий урок :)
p.s. забыл сказать, соединил два плейлиста от DKA-DEVELOP и это одна из причин затяжки, второй плейлист это "Docker уроки для начинающих от А до Я". Без докера сейчас никак не обойтись :)
Спасибо большое автору, за все его труды!!!
Спасибо, эти видео до сих пор полезны
Очень ценная информация! Лайк как минимум, обязателен!!!
Просто лучший материал и очень доходчиво, так держать!)
Спасибо!
Здравствуйте, у всех у кого не вышло попробуйте сделать все как на видео через yarn и убедитесь что вы делаете все действия именно в SocketComponent.vue, у меня тоже не выходило я сделал все заново через yarn и оказывается что я затупил и написал код в ChartLineComponent.vue!!!!
Автору видео огромное спасибо пока самый лучший ресурс изучения Laravel в целом))
Laravel 6
config/database.php => redis.options.prefix == ""
config/database.php => redis.client => env('REDIS_CLIENT', 'predis')
php artisan config:cache
Блин братан, спасибо тебе большое, я не посмотрел сразу в комментарии и несколько часов искал проблему, прям реально помог мне
Спасибо большое друг, применил твои инструкции и все заработало как нужно))
Отличная серия уроков!)
Для Laravel >= 5.8 хочу уточнить, что нужно в config/database.php => redis.options.prefix закомментировать или установить пустую строку ("") или добавить префикс на фронте в vue компоненте... Сначала сам не мог понять в чем проблема, почему не работает
Это ведь находка!
Спасибо за видео, как и всегда крутой туториал. Жаль не дождался урока ) сделал сегодня через Echo, но посмотреть все же было интересно ). Еще раз огромное спасибо за труд
Всегда рады!
Возможно вопрос покажется странным, но если Вы знаете в чем проблема, то было бы здорово).
По Вашему видео Вы включаете в консоли только node server, но если сделаю все точно по уроку получу [ioredis] Unhandled error event: Error: connect ECONNREFUSED 127.0.0.1:6379
решение простое включить redis, но опять же Вы этого не делали или я просмотрел ) Спасибо за внимание
полная ошибка
[ioredis] Unhandled error event: Error: connect ECONNREFUSED 127.0.0.1:6379
at Object._errnoException (util.js:1031:13)
at _exceptionWithHostPort (util.js:1052:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1195:14)
решение: установка редиса глобально и написать в консоли redis-server
laravel + MAMP
Здравствуйте,
мы старались в некоторых видео показать, что нужно проверять перед тестом.
В последнем видео, это точно есть. И в первом где настраиваем.
А так он у нас стартует автоматом.
О спасибо за быстрый ответ)
Как nodejs, используемый здесь, запустить на PHP хостинге ?
Сбросьте кто-нибудь ссылку на исходный код урока. Почему-то широковещание не работает (график обновляется только в одной вкладке). Все уже перепробовал, на разных портах сервер запускал, редис переустановил, по-ходу ошибку где-то допустил, не могу найти где.
Зачем в обучающем видео эта музыка? Автор, ты пытаешся что донести? Свои музыкальные предпочтения?
Не гони, хорошая музыка. Для человека, разработка - это искусство.
спасибо за ваш труд! а я Rachet поднимал для чатов. этот способ более изящно выглядит))
Laravel 7, проблемы те же. Может кому-то поможет, если возникают проблемы.
1) config=>database.php
'redis' => ['options' => ['prefix' => "",]],
Именно пустой, а не закомментированный
2) OpenServer запуск redis в папке проекта:
redis-server
redis-cli
3) Компонент var socket = io('learning.loc:3000'); - обязательное совпадение домена.
Спасибо большое, пункт 1 помог))
Спасибо, дружище. Первый пункт помог, третий не пришлось применять.
Error in render: "TypeError: _vm.info.join is not a function" - help
Не заработало.
Laravel 5.8. Ошибка работы Redis, фреймворк не может подключиться к нему, ошибка - Permission denided. Не разобрался. Есть куча других мануалов как с делать иначе. Автору все равно спасибо!
наглядный пример антипатернов, но в целом суть понятна
Супер как всегда, опишите способ с Echo. Спасибо за хорошие видео))
Будем стараться рассмотреть различные способы.
Расшифруйте, зачем в папке роутеров такие файлы как апи, чанел, консоль? В апи только подключать контроллеры которые по запросу отдают что то?
Чтобы действительно хорошо объяснить нужно отдельный урок выпускать, к сожалению "развернутые" комментарии достаточно много времени на формулировку и правильное объяснение отнимают время и главное увидят не все, поэтому обязательно все рассмотрим в будущих уроках.
спасибо большое за ответы, тогда плюс к этим вопросам интересуют следующие:
1) разбирал mvc, но в ларавель самая интересная реализация, можете ее разобрать?)
2) ну папку router, что за что отвечает
3) разобрать темы: queue, events, broadcast (что за подписчики и т д)
4) если можно сделайте еще видео о паттернах в ларавель) мне кажется на практике их разобрать круто будет, как они здесь реализованы и применены, а то на сухую не понятно вообще зачем они существуют...
5) есть интересная cms, интересно бы ее разобрать) она на основе laravel) но документация на англ только, если будет возможность то круто)
6) а у вы работаете в компании или фрилансер?
Ok :-)
6. Было по разному и много. Сейчас это больше для души и жуткий интерес!
Жуткий интерес к чему?)
Kat Nezabydka, изучение технологий, всегда интересно развиваться и создавать что-то своими руками.
У кого сайт имеет домен отличный от localhost, тогда вместо localhost тут var socket = io('localhost :3000'); пишем свой домен. А так уроки супер, молодцы!
либо npm run dev если не поможет значит у тебя скрипты не скачались, сделай yarn install потом npm run dev
Спасибо, протупил тут. Делаю на рабочем сервере, с рабочим доменом.
Привет, спасибо за уроки, у меня получилось все сделать на локальном сервере. Не получается разобраться куда какой адрес писать (Адрес сайта, ip сайта) на vds. laravel работает по вашему файлу .htaccess. Если мы в mounted укажем var socket = io('domain.ru:3000'); то как отправить данные по этому адресу и при использовании .htaccess в консоли выдает ошибку GET domain.ru/public/socket.io?EIO=3&transport=polling&t=MPdZJxI 404 (Not Found). Выручайте, как все это запустить на vds? Вам пора запустить раздел на сайте вопрос/ответ, думаю будет очень актуально/популярно
если разобрался подскажи как сделал?
Чем использование nodejs лучше laravel-echo-server ?
Не в коем случаи ни кто не заявляет что nodejs - это самый лучший способ, в основе все равно почти везде (websocket) как его реализовывать дело вкуса и предпочтений.
В этом плейлисте мы постараемся после окончания первой части рассмотреть все способы реализации.
@@DKADEVELOP оно будет работать, если вместо redis и node использовать pusher?
@@АндрейКачанов-ф7ч если сервер pusher, то насколько я помню да. Так как в данной ситуации это только клиент.
Если редис не запущен. Как ждать его соединения в скрипте server.js чтоб он не падал. И вообще интересует централизованная обработка ошибок. Например что будет, если редис вдруг перегрузился и стал слейвом с READONLY mode
нашел ответ?
все сделал как на уроке но на 2 браузере не обновилось и в терминале после Listening on port 3000 ниче не появилось, ошибок ни консоль ни терминал не выдает
Вы точно пересобрали код?
npm run dev
Или зарегистрировали компонент?
resource/assets/js/app.js
Вывели компонент в шаблоне?
все оказалось очень просто, делать нужно было через pusher так как делаю на винде))) переделал под пушер и все работает и графики и чат ))))))
У меня абсолютно идентичная проблема (( Может быть потому, что я это все на Win 10 пытаюсь сделать? Redis включен в OpenServer
@@kostinaleksey у меня тоже не пашет на винде 10
РАЗОБРАЛСЯ! (Win10 + OpenServer)
1. В config/database.php уберите prefix в redis
2. var socket = io('domen:3000') // у меня была ошибка в порте
пол дня ковырял, спасибо автору :)
Не понимал почему не работает, оказалось, что нужно очередь запустить "php artisan queue:listen", если в .env QUEUE_CONNECTION не sync
Я не за подробное а за еще наиболее подробное обьяснение
Госпади, как я намучился в деплое. Ошибка на ошибке. Но вроде разобрался. Спасибо
Все очень нравится, спасибо за уроки!
Есть только одно но: нужна разница в уровне занятий, это экономит время. К примеру, рассказывать в видео про веб-сокеты, что такое node.js, как фильтровать переменные в php и т.д. - это не совсем правильно. Это как на 2 курсе английского present simple изучать.
Лучше сделать отдельные видео для новичков, где их познакомить с основами, нежели рассказывать их там, где речь уже о сокетах идут.
Если новичок не знает, что такое node.js, то рассказ ему про веб-сокеты внесет только кашу в голову, никак не знания.
Спасибо за развернутый комментарий, такие комментарии всегда полезны и учитываются.
Не согласен. Сейчас в уроках все правильно и по полочкам рассказывается, при этом нет воды, все по делу. Я с Нодой не работал, но все понял. За уроки большое спасибо, DKA-DEVELOP
Спасибо за урок. У меня ошибка localhost:3000/socket.io .... 101 Switching Protocols. Что делать????
- Столкнулся с тем же.
server.js добавила let io = require('socket.io').listen(http); так работает.
Это не работает если у нас https соединение, как с бекенда передать в браузер при защищённом соединении?
Вот нашёл решение:
(Сторона сервера)
var fs = require('fs');
var options = {
key: fs.readFileSync('ssl/privkey.pem'),
//сертификаты желательно положить в корень
cert: fs.readFileSync('ssl/fullchain.pem')
};
var httpServer = require('http').createServer();
var httpsServer = require('https').createServer(options);
var ioServer = require('socket.io');
var io = new ioServer();
io.attach(httpServer);
io.attach(httpsServer);
httpServer.listen(7165);
httpsServer.listen(7166);
io.sockets.on('connection', function (socket){});
(Сторона браузера)
var port = location.protocol === 'https:' ? 7166 : 7165;
var socketIO = io(0.0.0.0:'+port);
socketIO.once('connect', function(){});
Я "за" подробное пояснение шагов
а разве черная магия не запрещена?
Если никому не рассказывать, то скорее всего нет ;-)
Ребята! В SocketComponent.vue параметр метода io("LOCALHOST:3000 ") как меняется на деплое?
И еще. Как на сервере запусткается server.js? в pakcage.json
Используйте имя домена вместо localhost, для запуска скрипта можно использовать bash и cron:
************runnode.sh****************
#!/bin/bash
cd /var/www/pathtolaravel
if ! pidof node &>/dev/null; then node ./socket.js; fi
------------------------------------------------
И в кроне прописываете путь до этого (runnode.sh) скрипта.
Это один из вариантов.
DKA-DEVELOP спасибо)
Не думаю что я понял полностью вас
Будет видно про Деплой? На heroku например)))🙄
Спасибо за подробные уроки и за то, что отвечаете на комментарии. Поблагодарил вас через Веб-мани ;), чтобы у вас был стимул продолжать в том же духе. Таких как вы очень мало!
Алекс Друг,
И вам спасибо, отдельное спасибо за $, таких как вы также не много, но вы есть и это радует.
Сейчас небольшой вынужденный перерыв, все время от времени болеют :-), но скоро будут новые уроки.
@@DKADEVELOP , на сыроедение переходи, там не болеют;
Не работает на laravel 5.8. На laravel 5.7 все хорошо! Кто знает в чем дело? Win 10
Отвечаю на свой вопрос. В config/database.php уберите prefix в redis
@@flight4044 спасибо помогло, а что это за префикс такой и че с ним не работает?