Я написал веб-приложение, с помощью Node.js:Правильный способ запуска приложения Node.js с Nginx
- выразить
- Socket.io
- Redis для магазина и для сеанса некоторые кэширование вещи
- MySQL для Устойчивые данных
Это хорошо работает в автономном и теперь я хотел бы, чтобы заставить его работать в режиме «производства». На самом деле, я бы хотел, чтобы nginx перенаправлял запросы на сервер узла.
На данный момент я использую один физический сервер (i5 - 4 ядра) для всего, но это может измениться в будущем (так может быть, еще только для MySQL и т.д.)
В этом случае:
- Должен ли я использовать балансировку нагрузки nginx между восходящими? (Т.е. работает мое приложение с различными портами)
Nginx конфигурации будет что-то вроде этого:
upstream my_app {
server 127.0.0.1:3000;
server 127.0.0.1:3001;
server 127.0.0.1:3002;
}
Тогда, что такое правильный способ запустить узел в качестве службы, так что я могу легко перезапустить его ? Я могу создать простой скрипт сам (обработка start/stop/restart, ...), но, может быть, я могу использовать что-то уже доступное?
- Должен ли я использовать кластеры узлов?
Мое приложение в настоящее время работает в одном потоке, но от того, что я прочитал, я знаю, что могу распараллелить или раскошелиться мой процесс с такими решениями, как PM2/nodemon/навсегда, но не уверен, какой из них подходит лучше всего.
Я только что попробовал pm2, который хорошо работает в кластеризации или разворачивании процесса узла, просто не уверен, что это путь к nginx.
Спасибо,
Для получения информации о запуске приложения в качестве сервиса см. Это http://dailyjs.com/2011/03/07/node-deployment/ –
Спасибо, это помогает! – Ervadac