Добрый день! Подскажите пожалуйста как перенести сервер на nodejs/express на хостинг?
У меня сервер только отдает пустой index.html и json плюс есть еще сокет сервер.
Вопрос как сделать, чтобы это все работало на обычном хостинге?
Надо запускать какие-то команды, например "node server.js && node socket.js"?
Какие требования должны быть к хостингу?
Спасибо!
Вообще продакшен окружение и окружение разработчика это разные вещи.
Продакшен окружение, существенно сложнее - нельзя допускать излишних вольностей, надо думать о безопасности, стабильности работы. Надо понимать, что простой настройки окружения проекта, при котором он будет работать, не достаточно, требуется настроить многое другое.
beefront17, Это чтобы папку node_modules туда-сюда не таскать - она же больше всего остального места занимает. Но можно и вместе с ней проект скопировать, как есть. Это всё равно.
Пума Тайланд, Данные наверняка будут где-то храниться, соответственно, надо это где-то правильно настроить, убедиться, что оно не торчит наружу и.т.п. Правильно распределить ресурсы, убедиться. что виртуалка не останется без памяти, при первом же наплыве запросов. Фаерволл неплохо бы настроить. Лимитировать кол-во запросов с адреса, чтобы хотя бы простой DoS не был проблемой. Monit какой-нибудь поставить, или другое средство аналогичное.
Множество этих вещей, вне зависимости от стека даже.
Борис Сёмов, не очень понятно зачем фаервол, из портов обычно тот же 80 и 22 открыты
Поднимать сервисы монитом мне кажется вообще глупостью, они же не с проста падают
Хватит не хватит памяти тут уже обычно не ты решаешь, а код и тут как то сложно что то легко сделать, по крайней мере простого решения я не вижу, какие запросы и чтобы придумают юзера угадать не возможно, отследить весь исполняемый код тоже маловероятно
Анти ддос нынче все дают мне кажется из коробки, против умного все равно ничего просто не сделать, чтобы норм юзеров не блочить, а простое обычно совсем не страшно.
Фаерволл полезен, не только закрытием портов, но и тем же лимитированием трафика, к тому же, что-то может в один не прекрасный день начать слушать и другие порты.
Монит умеет не только поднимать сервисы, но и предпринимать другие действия, при их падении, от извещения по почте, до создания тикета какого-нибудь. И может попробовать поднять, а после неудачи выполнить другие действия.
Хватит/не хватит памяти решает тот, кто разумно настраивает количество различных обработчиков, размеры буферов, лимиты выделения памяти и.т.п.
Кто именно все? И конечно, это и близко не так. У большинства хостеров "защита" это нульроут твоего ip когда всё совсем плохо, не более того - т.е. они как-то защитят твоих соседей от просадки сети.
От умного или большого простыми методами не защититься, это правда, но это не значит, что не надо защищаться от простейших атак, которые, если проект не самый топовый, куда вероятнее, кстати. Благо и защититься-то просто.
Ну вы можете воспользоваться специальными хостингами как например сайты на Ажуре. Не только поддержка Ноды, но и интеграция с гитхабом например. Вы заливаете в мастер изменения, они автоматически обновляют ваш сайт. Есть и другие хостинг с поддержкой ноды. Или можно свой контейнер создать на AWS, это не дорого но зато будешь рут, и твори что хочешь.