Я хотел бы настроить несколько серверов node.js на одном компьютере (но прослушивать разные порты) для разных проектов (чтобы я мог вытащить любой, чтобы редактировать код, не затрагивая другие). Однако я хочу иметь доступ к этим веб-приложениям из браузера, не вводя номер порта, и вместо этого отображать разные URL-адреса на разные порты: например, 45.23.12.01/app -> 45.23.12.01:8001.
Я рассматривал возможность использования узел-http-прокси для этого, но он еще не поддерживает SSL. Мне кажется, что nginx может быть наиболее подходящим. Я никогда раньше не настраивал nginx - какая конфигурация мне нужна? Примеры конфигурационных файлов, которые я видел, относятся только к поддоменам, которых у меня нет.
В качестве альтернативы, есть ли лучший (стабильный, беспроблемный) способ размещения нескольких приложений под одним IP-адресом?
Сначала начните с чтения вики-документация. Это очень тщательно и включает образцы. Я не буду давать вам полную конфигурацию nginx, но вот часть, относящаяся к вашему вопросу.
server {
listen 80;
server_name example.com;
location /foo {
proxy_pass http://localhost:9000;
}
location /bar {
proxy_pass http://localhost:9001;
}
location /baz {
proxy_pass http://localhost:9002;
}
}
Должно быть понятно, что там происходит. Каждый расположение проксирует указанный URI на соответствующий сервер node.js.
nginx может быть подходящим вариантом. По крайней мере, это то, что у меня запущено на моем сервере. Пример конфигурации / описания можно найти здесь: https://blog.noort.be/2011/03/07/node-js-on-nginx.html
Вы в основном настраиваете разные сайты в nginx, и каждый сайт направляет свой трафик в приложение nodejs, работающее на другом порту.