Всем привет.. Буду краток, в последнее время я работаю над приложениями NodeJS, и, конечно же, у меня было несколько проблем, так как спустя годы я перешел с чистого PHP на NodeJS (насколько я знаю, я не единственный 😄 )
Одна из самых неприятных для меня проблем — «как запустить несколько приложений NodeJS в одном домене с разными ПОРТАМИ». 2 недели искал полный идеальный ответ; не повезло!.
В конце концов и после долгих поисков мне удалось заставить его работать, внеся простые изменения в микросервисы/приложения Node и NGINX.
ШАГ 1. НГИНКС
Теперь предположим, что у вас есть приложения с двумя узлами:
- Веб-сайт
- cpanel
ПОРТЫ:
- 3002
- 3004
Местоположение:
- / ‹ — основная локация (www.example.com).
- /cpanel и не только
Конфигурация NGINX будет следующей:
Итак, вот как вы добавляете свое 3-е, 4-е или 5-е приложение, не имеет значения, сколько у вас приложений, просто скопируйте блок /cpanel и измените местоположение + порт, обратите внимание на строку (переписать) в / конфигурация cpanel.
ШАГ 2 ExpressJS
в этой части мы поговорим о /cpanel только потому, что это главное, и о том, как обслуживать статические файлы, такие как изображения, CSS, JavaScript и т. д., с помощью встроенная промежуточная функция express.static.
Я предпочитаю, чтобы вы создали префикс виртуального пути (где путь фактически не существует в файловой системе) для файлов, которые должны обслуживаться функцией express.static, укажите путь монтирования для статического каталога, как показано ниже.
- реальный путь (папка) /public
- виртуальный путь — /static или /burger, как вам удобно.
app.use(‘/static’, express.static(‘public’));
ШАГ 3 HTML
Это последний шаг, и в этой части мы будем говорить только о /cpanel
Чтобы получить доступ или вызвать JS, CSS или imgs, обязательно напишите относительный путь следующим образом:
‹ссылка rel="таблица стилей" href="/cpanel/static/css/styles.css"›
‹script src="/cpanel/static/bootstrap/js/bootstrap.min.js" ›‹/script›
КОНЕЦ
"наслаждайтесь остатком дня"