Вы не хотите использовать Apache, потому что Nginx лучше подходит, поскольку Nginx создан для асинхронного ввода-вывода.Вы хотите использовать Nginx в качестве прямого прокси-сервиса, который будет направлять ваших клиентов на реальные веб-серверы node.js.Это позволяет горизонтальное масштабирование по мере роста вашего приложения, чтобы справиться с повышенной нагрузкой.Поэтому, если вы переросли свой первый сервер Nginx, вы можете установить еще один и другой ... Вы также сможете сделать то же самое с вашими веб-серверами Node.js.
клиентский веб-браузер <->Nginx <-> Express app.js
Вы также сможете быстрее обслуживать статический контент, если будете работать с nginx, а затем использовать Express для динамического контента.Для развертывания вам может потребоваться написать сценарий sh, который просто скопирует и запустит ваш сервер Express, как обычно, и запустит ваш сервер Nginx, как обычно, но с настройкой прокси-сервера пересылки.Вы можете использовать скрипт в Nginx следующим образом:
upstream your_domain_app {
server 127.0.0.1:8000;
}
server {
listen 0.0.0.0:80;
server_name your_domain.com your_domain;
access_log /var/log/nginx/your_domain.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://your_domain_app/;
proxy_redirect off;
}
}