Как развернуть node.js приложение в cyberpanel?

#javascript #node.js #cyber-panel

#javascript #node.js #киберпанель

Вопрос:

Мое приложение разработано в node.js , и у меня есть cyberpanel, установленная на моем сервере. Я видел много примеров того, как развернуть приложение узла в cyberpanel, но у меня есть сомнения по поводу того, как просмотреть его из браузера.

Пока у меня есть следующая конфигурация в vHost:

 context / {
    type                    appserver
    location                /FOLDER/FOLDER/PROJECT_FOLDER/dist
    binPath                 /usr/bin/node
    startupFile             index.js
    appType                 node
    maxConns                100
}
  

Мое приложение отлично работает на порту 3000, когда я запускаю его с помощью консоли, но мне нужно указать его на порту 80 с помощью cyberpanel.

У кого-нибудь есть идея, как это сделать?

Комментарии:

1. Вы решили свою проблему? Я сталкиваюсь с такой же проблемой.

Ответ №1:

попробуйте выполнить следующие шаги. По сути, ошибка заключается в выборе корневой папки документа и разрешении доступа к приложению.

  1. Создайте веб-сайт, используя обычное меню CyperPanel. [https://cyberpanel.net/docs/2-creating-website /]

  2. Загрузите свой узел.Файлы Js в папку public_html веб-сайта.

  3. Войдите в панель Open Lite Speed через порт: 7080 (вам нужно будет включить порт на брандмауэре)

  4. Перейдите к виртуальным хостам> Ваш домен> Контекст

  5. Выберите сервер приложений, для определения местоположения используйте $VH ROOT вместо жестко заданного пути.

Кроме того, не забудьте включить управление доступом к сайту, разрешив все IP-адреса (*).

         context / {
  type                    appserver
  location                $VH_ROOT/public_html/
  binPath                 /usr/bin/node
  appType                 node
  startupFile             server.js  //this is the name of your 
  appserverEnv            1
  maxConns                100

  accessControl  {
    allow                 *
  }

  rewrite  {

  }
  ad
  

Ответ №2:

Смотрите, я собираюсь ответить на вопрос от точки к точке

Прежде всего, cyberpanel по умолчанию принимает только app.js файл в качестве основного файла для запуска приложения. Во-вторых, как изменить это указание файла по умолчанию?

      context / {
  type                    appserver 
  startupFile             index.js // **NAME OF YOUR STARTUP FILE**
  location                /home/PROJECT_FOLDER/public_html/dist 
  binPath                 /usr/bin/node
  appType                 node 
  appserverEnv            1
  maxConns                100

  accessControl  {
    allow                 *
  }

  rewrite  {

  }
  ad        
       

расположение / ПАПКА / ПАПКА / PROJECT_FOLDER/ dist
Примечание: — Вещи, которые я хочу упомянуть об этом параметре местоположения, — это местоположение вашего файла запуска, вы получите его через файловый менеджер, так как вы не можете запустить код typescript непосредственно здесь, вам нужно преобразовать его в javascript с помощью команды tsc и далее указать папку dist, используя параметр location вфайл vconfig

Теперь следующий вопрос: как запустить приложение вне консоли?

  1. Создайте веб-сайт для развертывания проекта, используйте ссылку ниже для справки нажмите здесь
  2. Выдача SSL для веб-сайта — ссылка для справки
  3. Это моя структура папок для развертывания, просто заархивируйте все файлы и загрузите их в файловый менеджер cyber panel и извлеките свои файлы. Вы можете видеть, у меня есть папка dist, которая содержит все файлы javascript, а также index.js , основной загрузочный файл.

структура папок

  1. Нажмите на исправление разрешений в файловом менеджере.

  2. Перейдите в веб-терминал и установите модули узла. как? на веб-терминале: — введите cd .. и нажмите enter. Там вам нужно найти свой проект из каталога, вы можете использовать команду ls, чтобы получить список файлов и структуру папок. мой каталог был (после использования cd ..): — cd home/FOLDERNAME/public_html Наконец запустите свой проект через терминал, чтобы проверить его работу.

  3. Настройте свой файл конфигурации vhost, ниже приведено эталонное изображение

введите описание изображения здесь

  1. Файл, который вы должны добавить в конфигурацию vhost, я также предоставил вам выше.

  2. Если ваш домен настроен правильно, вы можете просматривать api в своем домене, иначе вы можете нажать кнопку предварительного просмотра на панели cyber

Примечание: — Всегда сначала запускайте код в терминале, чтобы проверить его работоспособность.

Комментарии:

1. Я следовал вашим шагам. Но это не работает. Нужно ли мне удалять папку node_modules?

2. удалите node_modules и просто установите их из веб-терминала cyberPanel. И в терминале используйте npm start для запуска проекта. если он запустится, он должен на 100% работать и с URL-адресом cyberPanel

3. Я получил ошибки типа «node.js Ошибка: подключение ECONNREFUSED»

4. Подключите свою базу данных, если IP-адрес внесен в белый список