Как развернуть Node или React App на Cpanel, который использует порт, с помощью SSH?

Как только мы закончили разработку нашего приложения node или react, нам нужно развернуть его на каком-нибудь сервере, чтобы люди могли получить к нему доступ со всего мира.

Итак, мы собираемся узнать, как можно развернуть наше приложение node/react на сервере хостинга через cpanel и ssh.

Шаг 1: Создайте приложение Node

Зайдите в свою cpanel и найдите

Setup Node.js App


Нажав на этот значок, вы увидите следующую страницу:


Нажмите на «Создать приложение».
Появится следующий экран:


Заполните информацию.

Корень приложения — это папка/каталог для данного приложения node/react.

URL приложения — это url, который соответствует этой директории. Это url, где будет размещено приложение node/react.

Файл запуска приложения — это файл, который запускается самым первым. В основном это «index.js» в случае с node и react.

Теперь вы настроили свое приложение node.

Шаг 2: Загрузка файлов

Вам нужно загрузить файл node/react в ту же папку, которую мы определили выше как корневую папку нашего приложения.

Перейдите в cPanel —> File Manager —> myfirstnodeapp (в данном случае).

Это корневая папка для вашего приложения node/react. Загрузите все файлы node/react (кроме node_modules) в эту папку, либо загрузив их напрямую через браузер, либо через FTP-аккаунт.

Когда все файлы будут загружены, переходите к следующему шагу.

Шаг 3: Настройка файла .htaccess

Поскольку наш node/react будет использовать порт нашего хостинг-сервера, нам необходимо выполнить некоторые настройки для него, отредактировав файл .htaccess.

Найдите и отредактируйте файл .htaccess в корневой папке вашего приложения

Скопируйте и вставьте приведенный ниже код в верхней части файла .htaccess.

DirectoryIndex disabled
RewriteEngine On
RewriteRule ^$ http://127.0.0.1:12345/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:12345/$1 [P,L]
Войти в полноэкранный режим Выйдите из полноэкранного режима

Измените «12345» на порт, на котором будет работать ваше приложение.

Хостинговые сайты разрешают некоторый определенный диапазон портов, на которых может работать ваше приложение. Например, хостинг A2 позволяет использовать порт от 30000 до 50000.

127.0.0.1 является обратным IP. Таким образом, приведенный выше код перенаправляет любой запрос, приходящий на URL вашего Node/React Application, на себя с указанным номером порта.

Шаг 4: Установка пакетов

Вернитесь к настройке приложения node. Как мы делали в Шаге 1.


Нажмите на значок редактирования приложения node, которое вы только что создали.


Прокрутите вниз и вы увидите кнопку NPM Run.


Нажмите на эту кнопку, и она установит все пакеты/модули вашего проекта.

Если вы не можете найти кнопку «NPM Run», это, вероятно, потому, что у вас нет файла package.json в корневой папке приложения. Убедитесь, что файл package.json есть в папке приложения, и двигайтесь дальше.

Файл package.json — это файл, который содержит информацию о пакетах, необходимых вашему приложению node/react.


Дождитесь сообщения об успешном выполнении.

Если вы не получили успешного сообщения или появилось сообщение об ошибке. Запустите NPM снова.


Помните, что не следует нажимать на кнопку «Запустить приложение». Потому что сайты хостинга не рекомендуют запускать приложение node/react из cPanel. Нужно запускать его из терминала SSH.

Если вы ошибочно запустили его, не беспокойтесь, мы отключим его из SSH-терминала.

Шаг 5: Запуск терминала SSH

Откройте терминал и напишите следующую команду.

ssh -p <порт для ssh> <имя пользователя>@<имя хоста>.

И нажмите Enter.

это порт, к которому ваш хостинг-сервер разрешает подключаться ssh-клиентам. Стандартный порт для ssh — 22, но некоторые хостинг-сервисы указывают другой порт. Хостинг A2 позволяет использовать порт 7822.

имя пользователя на сервере хостинга

имя хостера вашего хостинг-сервера.

Эти данные вы можете найти в информации о вашем аккаунте.


Далее терминал попросит вас ввести пароль, и вы введете пароль, указанный в информации об учетной записи.

Шаг 6: Запуск приложения из терминала SSH

Как только мы вошли на наш ssh-сервер из нашей учетной записи. У нас есть доступ к нему.


Выполните команду «ls» в терминале, чтобы увидеть все папки/каталоги.

Вы найдете ту, которую мы создали как корневую папку нашего приложения node/react.


Выполните команду «cd myfirstnodeapp» в терминале.

Это изменит рабочий каталог на «myfirstnodeapp», где находится наше приложение node/react.

Если вы создали каталог с другим именем, используйте это имя вместо «myfirstnodeapp».


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

Node: PORT=<порт, который мы определили в .htaccess> nohup node index.js &.

React: PORT=<порт, который мы определили в .htaccess> nohup npm start &.

Если npm недоступен, вы можете выполнить следующую команду для запуска приложения react

React: PORT=<порт, который мы определили в .htaccess> nohup node node_modules/react-scripts/bin/react-scripts.js start &


nohup используется для запрета вывода команды на терминал.
& используется для запрета блокировки терминала. Это необходимая команда. Если вы не введете ее, терминал будет заблокирован, и если вы выйдете из терминала в этот момент, наше приложение node/react перестанет работать.


Наконец, введите команду exit. Это заставит вас правильно покинуть ssh-терминал.
И снова выполните exit, чтобы выйти из собственного терминала. Это закроет ваш терминал.


Некоторые дополнительные команды, которые необходимо знать

Чтобы увидеть, как работает ваше приложение node, вы можете использовать следующую команду:

Первый вывод — мое приложение node запущено.

Второй вывод — запущено мое приложение react

Последний вывод не является запущенным приложением node, скорее это команда «ps -aef | grep node».


Чтобы остановить запуск приложения, можно выполнить команду:

Эта команда также полезна, если вы по ошибке запустили приложение node/react из cPanel. Поэтому вы можете остановить его отсюда.


Если вы хотите остановить все запущенные приложения node, выполните следующую команду:

Эта команда остановит все приложения node/react, которые в данный момент запущены на вашем хостинге.


Надеюсь, эта статья была вам полезна. Если у вас возникли вопросы, напишите комментарий ниже.


Следуйте за мной в Twitter.
Вы можете посетить мое портфолио здесь.

Оцените статью
devanswers.ru
Добавить комментарий