Grapeoff
@Grapeoff
В чём концепция...?

Какие отличия у NodeJS сервера от LAMP?

На данный момент занимаюсь разработкой игры, в которой некоторое кол-во данных нужно хранить на сервере. Изначально я собирался использовать LAMP стэк для своих целей, но потом подумал, что лучше буду использовать JavaScript, т.е. NodeJS, тк на JS я программировал больше года, а на PHP 1 неделю, а потом забросил эту идею (не потому, что ЯП плохой, а просто чёт потерял я энтузиазм к его изучению). Однако развернуть локальный сервер, и даже сделать на него пару AJAX-запросов я успел, но вот на NodeJS я ещё не работал, сейчас занимаюсь его изучением и уже появились некоторые вопросы.

На PHP всё просто, просто делаешь запрос на PHP файлик и получаешь ответ, а вот с NodeJS всё сложнее. Вначале я прописываю node имяфайла.js в консоли, он запускает сервер на каком-либо порту, и я уже начинаю получать результаты исполнения кода, но вот на VDS мне придётся делать то же самое? Т.е. я где-то в консоли админ панели моего сервера пишу node имяфайла.js и сервер будет круглосуточно работать и возвращать ответ при запросе по определённому пути? (т.е. если игра сделала запрос, допустим на mysite.com/getHello, то приложение получит в ответ строку "Hello, World").

И получается, что раз сервер будет без стэка LAMP, то я теряю возможность конфигурации через .htaccess?
  • Вопрос задан
  • 463 просмотра
Решения вопроса 2
khegay
@khegay
Founder, Garuna
Тут подход к разработке и деплойменту нужно чуток объяснить:

LAMP - это стак технологий: Linux, Apache, MySQL, PHP.
node.js - это технология.

Чтобы удалённый сервер смог общаться с внешним миром, используются веб-сервера: nginx / Apache / IIS и т.п. Дальше запросы переходят к языку программирования. Лучше всего использовать фреймворки. А дальше, запросы обрабатываются (делаются запросы в БД, общение с файловой системой и т.д.).

Если вы говорите, что вам удобнее работать с JS, то тогда советую вам данный подход:

  • Виртульная машина VirtualBox. Виртуальная машина необходима для того, чтобы создать примерно такое же окружение, как и на сервере, а также для того, чтобы выделить исполнение кода из вашей системы в отдельное окружение.
  • Vagrant - это такая надстройка над виртуальными машинами. Коробки, внутри которых есть всё для ВМ.
  • В виде ОС - Linux Ubuntu (18.04 либо 20.04)
  • nginx в виде веб-сервера, он же как обратный прокси
  • nvm в виде менеджера версий node.js, с помощью nvm вы сможете устанавливать нужные версии node.js и npm
  • MongoDB в виде базы данных. Либо MariaDB, если нужна SQL-подобная БД
  • express.js в виде веб-фреймворка, который будет работать с БД, файлами и прочим
  • Если нужна визуальная админ-панель, то лучше взять один из мейнстрим фреймворков: Angular / Vue / Reqct
Ответ написан
samodum
@samodum
Какой вопрос - такой и ответ
LAMP - это Linux-Apache-MySQL- PHP.
Нодой ты заменяешь сразу A и P, и никакой это уже не LAMP получается. Я бы ещё посоветовал поверх ноды поставить Nginx (из стека LEMP :))
Так же и БД ты можешь использовать другую.
Не понимаю почему ты так привязался именно к стеку.

Т.е. я где-то в консоли админ панели моего сервера пишу node имяфайла.js и сервер будет круглосуточно работать и возвращать ответ при запросе по определённому пути?

Да, именно так.
Лучше это сделать через screen или tmux


И получается, что раз сервер будет без стэка LAMP, то я теряю возможность конфигурации через .htaccess?

Да. Но не вижу в этом ничего страшного
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы