Всем привет.. Буду краток, в последнее время я работаю над приложениями NodeJS, и, конечно же, у меня было несколько проблем, так как спустя годы я перешел с чистого PHP на NodeJS (насколько я знаю, я не единственный 😄 )

Одна из самых неприятных для меня проблем — «как запустить несколько приложений NodeJS в одном домене с разными ПОРТАМИ». 2 недели искал полный идеальный ответ; не повезло!.

В конце концов и после долгих поисков мне удалось заставить его работать, внеся простые изменения в микросервисы/приложения Node и NGINX.

ШАГ 1. НГИНКС

Теперь предположим, что у вас есть приложения с двумя узлами:

  1. Веб-сайт
  2. cpanel

ПОРТЫ:

  1. 3002
  2. 3004

Местоположение:

  1. / ‹  — основная локация (www.example.com).
  2. /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›

КОНЕЦ

"наслаждайтесь остатком дня"