Как добавить Node.js?

Обсуждение установки и настройки поддерживаемых вебсерверов, а также работы с ними.
Ответить
edeed
Сообщения: 1
Зарегистрирован: Вт окт 20, 2020 12:59 pm

Как добавить Node.js?

Сообщение edeed » Вт окт 20, 2020 1:02 pm

Node.js установил, но при добавлении сайта его нельзя выбрать, только php. Как его туда добавить и надо ли вобще?

Моя задача, запустить свое приложение на node.js и настроить ssl, может где то есть информация по этому вопросу? Честно говоря, первый раз с панелью работаю.

Пока жду ответа, попробовал установить ssl сертификат let`s encrypt, но почему то хром пишет, что соединение все равно не защищено. Если кликнуть по этой надписи, то он показывает, что сертификат все же есть, но видио он ему не доверяет. Как это исправить?

corsarix
Сообщения: 5
Зарегистрирован: Вс ноя 17, 2024 3:37 pm

Re: Как добавить Node.js?

Сообщение corsarix » Вс ноя 17, 2024 3:38 pm

Присоединюсь к вопросу

Аватара пользователя
sbury
Сообщения: 1510
Зарегистрирован: Вт фев 06, 2018 7:51 am

Re: Как добавить Node.js?

Сообщение sbury » Вс ноя 17, 2024 3:44 pm

Какая версия системы и версия панели?
покажите выводы

Код: Выделить всё

cat /etc/os-release
Какая Web связка установлена?

Аватара пользователя
alenka
Сообщения: 2216
Зарегистрирован: Ср сен 27, 2017 11:10 am

Re: Как добавить Node.js?

Сообщение alenka » Пн ноя 18, 2024 8:25 am

Вы установили nodejs через менеджер приложений?

corsarix
Сообщения: 5
Зарегистрирован: Вс ноя 17, 2024 3:37 pm

Re: Как добавить react + Node.js?

Сообщение corsarix » Пн ноя 18, 2024 2:14 pm

Да, немного не разобрался, надо было это в настройках включить. Этот вопрос решен.

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

Аватара пользователя
sbury
Сообщения: 1510
Зарегистрирован: Вт фев 06, 2018 7:51 am

Re: Как добавить react + Node.js?

Сообщение sbury » Вт ноя 19, 2024 11:55 am

corsarix писал(а):
Пн ноя 18, 2024 2:14 pm
Да, немного не разобрался, надо было это в настройках включить. Этот вопрос решен.

Но теперь у меня следующий вопрос. где и как расположить публичную папку react, чтобы она подхватывалась? она же по сути, лежит в глубине пользовательской директории, а доступ к ней нужен nginx. ну или перенастраивать nginx с нуля, что как бы противоречит идеологии панели...
на текущий момент панель не настраивает react. Вам надо создать сайт для nodejs, Зайти в терминал под именем этого пользователя и в папке необходимого сайта(смотрите каталог sites) установить react. Используйте команду pwd, чтобы узнать в каком каталоге вы сейчас находитесь.

Код: Выделить всё

npm install create-react-app
В панели надо откруть доступ для этого юзера к шелу, установив параметр Шел доступ в Y
Информацию об активном порте для этого сайта, вы найдете в панели меню Сайты в списке активных сайтов, значение Port.

Аватара пользователя
sbury
Сообщения: 1510
Зарегистрирован: Вт фев 06, 2018 7:51 am

Re: Как добавить Node.js?

Сообщение sbury » Вс ноя 24, 2024 7:36 pm

после этого создать сайт на react. Допустим у него имеется сайт с именем a1.domain.com.
Тогда в каталоге сайта a1.domain.com, который физически находится в директории пользователя
sites/a1.domain.com надо выполнить.

Код: Выделить всё

export PATH=$HOME/a1.domain.com/.node_modules_global/bin:$PATH
npx create-react-app my-app
в каталоге sites/a1.domain.com/ появится my-app
Команда env вам раскажет где $HOME у этого пользователя

Перед запуском npm start. Определяем порт для приложения react, который указан в панели в меню Сайты
было

Код: Выделить всё

  "scripts": {
    "start": "react-scripts start",
делаем

Код: Выделить всё

  "scripts": {
    "start": "PORT=ХХХХ react-scripts start",
Или устанавливаем порт в environment

Должно в результате в браузере появится чтото такое
Вложения
react.jpg
react.jpg (75.41 КБ) 1052 просмотра
Последний раз редактировалось sbury Вс ноя 24, 2024 10:05 pm, всего редактировалось 1 раз.

Аватара пользователя
sbury
Сообщения: 1510
Зарегистрирован: Вт фев 06, 2018 7:51 am

Re: Как добавить react + Node.js?

Сообщение sbury » Вс ноя 24, 2024 9:56 pm

corsarix писал(а):
Пн ноя 18, 2024 2:14 pm
Да, немного не разобрался, надо было это в настройках включить. Этот вопрос решен.

Но теперь у меня следующий вопрос. где и как расположить публичную папку react, чтобы она подхватывалась? она же по сути, лежит в глубине пользовательской директории, а доступ к ней нужен nginx. ну или перенастраивать nginx с нуля, что как бы противоречит идеологии панели...
Да, забыл про это.
Когда в панели создается сайт nodejs , то управляется его приложение через systemd. Панель создает в /lib/systemd/system унит сервиса вида

Код: Выделить всё

nodejs@3001.service
где в данном случае 3001 это некий номерпорта, который формирует сама панель. Менять єтот номер, как и имя самого юнита в целом нельзя!
Для React его содержимое надо немного изменить. Для a1.domain.com и некого юзера с именем USER, будет так

Код: Выделить всё

root@ub24:/lib/systemd/system# cat nodejs@3001.service
[Unit]
Description=LTPS NodeJS Application
After=network-online.target

[Service]
Type=simple
Environment=CI=true
Environment=NODE_PORT=%i
Restart=on-failure
# do chdir before running the service
WorkingDirectory=/home/USER/sites/a1.domain.com/my-app
ExecStart=/home/sasha/usr/bin/npm start --prefix /home/USER/sites/a1.domain.com/my-app
StandardOutput=inherit
StandardError=inherit

# limit CPU and RAM quota for our service
#CPUAccounting=true
#CPUQuota=10%
#MemoryAccounting=true
#MemoryLimit=50M
#

[Install]
WantedBy=multi-user.target
После редактирования подаем команды

Код: Выделить всё

systemctl daemon-reload
systemctl restart nodejs@3001
Вводим в браузере
a1.domain.com
И должны увидеть то, что на картинке в посту выше.
чуть позже добавим поддержу React в панель, где такое шаманство больше не понадобится

Ответить