Обновить
4
0
Максим@ReTWi

Создаю app на Node.js и React в качестве хобби

Отправить сообщение
Спасибо, а что по вашему лучше использовать для развёртывания тогда?

Возможно упустил, командой pm2 startup systemd настраивается его автозагрузка. Вот тут подробнее.
Ни в коем случае, возможность логиниться в root нужно вообще полностью отключать в настройках SSH-сервера в целях безопасности. Только su/sudo

Подскажите, а в чём разница если я залогинюсь не рутом и буду просто использовать sudo для тех же целей?

Правильно я понимаю, что вебпак-бандлы собираются каждый раз прямо на сервере? По-моему это лишняя нагрузка

Просто каждый раз при перекомпиляции (добавили вы новый div в код) git будет выкатывать целое полотно изменений в бандле, которые нам не нужны. Изменения самого же компонента реакт будут также видны. Тут бы сделать так, чтобы гит не отслеживал изменения файла, но переносил его всё равно каждый раз, но вот не знаю, возможно ли это и стоит ли усилий, если можно просто скопилировать на хостинге, всё же это не часто будет происходить.
Выбираем второй способ проверки

Пока не постиг подобные сокращения, но буду иметь ввиду, спасибо :)
В современных убунтах вместо cron используется systemd-таймер

У certbota написано что будет крон-задача:
The Certbot packages on your system come with a cron job that will renew your certificates automatically before they expire.

Запускать потенциально баганутое nodejs-приложение от имени root — чудовищно плохая идея, потому что малейший баг в коде может привести к появлению у злоумышленника полного доступа к серверу

Можете привести пример? Очень интересно.

А ещё я что-то не нашёл ничего про автозапуск после перезагрузки сервера

После перезагрузки ubuntu запускается pm2, который запускает приложение. Если же само приложение крашится, то pm2 его также перезапустит. Ну и в коде критические ошибки стоит отлавливать чтобы ничего не падало, как минимум вот этим:
process.on('unhandledRejection', (reason, promise) => {
log.error({ reason, promise }, 'серверный процесс unhandledRejection')
})
process.on('uncaughtException', err => {
log.error({ err }, 'серверный процесс uncaughtException')
})
По закону, насколько я знаю, вы обязаны хранить все персональные данные пользователей на серверах в РФ. К ним относятся псевдонимы, почта и т.д. В общем любая информация с помощью которой можно идентифицировать конкретного человека.

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Зарегистрирован
Активность