Serwer PHP, Laravel z node.js

0

Jak to jest w ogóle, jak się ma na serwerze Laravela i chce uruchomić node.js ?

  1. Trzeba wejść w SSH i wpisać w poleceniu np. node server.js i po wpisaniu mozna wylaczyc SSH to nie zatrzymuje się node server.js ?
  2. Linki beda dzialaly z folderu routes/web.php (Bo wiem, że mozna tez ustawic w server.js w Node.js to nie bedą sie kolidować ?)

Potrzebuję rady jak to jest w ogóle PHP z Node.js na wlasnym serwerze... :(

1

Z tego co wiem to musisz odpalić proces jako daemon, bo inaczej jak wyjdziesz z SSH to przerwiesz polecenie (tak jak gdybyś zrobił ctrl + C).
Tutaj masz jakiś pierwszy z brzegu tutorial https://codepen.io/koheishingai/post/how-to-start-a-node-js-server-as-daemon-process-on-linux

Czemu używasz node.js jako serwer, zamiast apacha/nginx?

0

Nie no okej, tylko zastanawiałem się co to ma do routs/web.php. Ja jak używałem socket'a to komunikacja node.js <=> laravel odbywała się przez rabbitmq, ale nie jestem ekspertem w tych sprawach, więc możliwe, że robisz coś czego nie rozumiem :P

0

A mógłbyś rozjaśnić w jaki sposób odbywało sie przez rabbitMQ ?

Ja chciałem zrobic w formie nauki czat (socket.io, mysql czy redis, laravel)

Wiem ze jest duzo kursów ale chodzi mi o to zeby uruchomić bez problemu node.js zeby socket działał :D ja na razie zielony jestem w node.js dopiero sie ucze :d

1

Ja też w ramach nauki robiłem chat. Chciałem zrobić tak, że wiadomości podczas wysyłania są zapisywane do bazy. Stwierdziłem, że wykorzystam sobie rabbitmq i zapisze je za pomocą PHP'a, więc w momencie gdy ktoś wysłał wiadomość to wrzucałem są do kolejki rabbita, a z tej kolejki PHP sobie ją zdejmował i dodawał do bazy.

Tutaj masz pełne demo: https://github.com/3amprogrammer/demo jak wszystko zrobisz jak opisane w README to nie sposób, żeby nie zadziałało :)

0

Super bardzo dziękuje za pomoc ! ;D Chętnie skorzystam.

W ogóle jak wrzucasz wszystko do hostingu to od czego najpierw zaczynasz ? uruchamiasz za pomocą SSH node ?

0

Nie robie tego na tyle często, żeby mieć jakiś schemat.

2

Kolego, node.js nie ma nic wspólnego z laravelem. To będą dwie osobne aplikacje, które będą działać osobno. Node.js nie będzie "czytał" pliku web.php, bo to jest plik PHP, a kod w Node.JS piszemy w JavaScript. Serwer HTTP (Apache lub Nginx) działa na porcie 80. Node JS musisz uruchomić na jakimś innym porcie.

Możesz też zrobić tzw. proxy, czyli w konfiguracji - np. nginxa - ustawić przekierowanie do aplikacji na node.js. Czyli URL mojadomana.pl wskazuje na aplikację na laravel, a websocket.mojadomena.pl wskazuje na aplikację w node.js.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.