...

Развернуть ваш проект, React, node js на сервере с Ubuntu 22.04

Для того чтобы развернуть ваш проект на сервере с Ubuntu 22.04, вам нужно будет выполнить следующие шаги:

  1. Настройка сервера:
    • Установите Node.js и npm.
    • Установите PM2 для управления процессами Node.js.
    • Настройте брандмауэр, чтобы разрешить трафик на порты, используемые вашим приложением.
    • Установите и настройте веб-сервер Nginx для обратного прокси-сервера.
  2. Развертывание сервера:
    • Скопируйте код вашего приложения на сервер.
    • Установите зависимости и запустите серверное приложение.
    • Настройте PM2 для управления вашим серверным приложением.
  3. Развертывание клиента:
    • Скопируйте клиентский код на сервер.
    • Установите зависимости и соберите клиентское приложение.
    • Настройте Nginx для обслуживания вашего клиентского приложения.

Шаги для настройки

Установка необходимых пакетов

  1. Обновите пакеты:
    sudo apt update
    sudo apt upgrade -y
     
  2. Установите Node.js и npm:
    curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
    sudo apt install -y nodejs
     
  3. Установите PM2:
    sudo npm install -g pm2
     
  4. Установите Nginx:
    sudo apt install -y nginx
     

2. Развертывание серверного приложения

  1. Скопируйте код вашего серверного приложения на сервер.
    • Например, вы можете использовать scp для копирования файлов с локальной машины на сервер:
       
      scp -r /path/to/your/server/code username@API:/home/username/server
  2. Перейдите в каталог с вашим серверным приложением и установите зависимости:
    cd /home/username/server
    npm install
  3. Настройте PM2 для управления вашим серверным приложением:
    pm2 start bin/www --name server
    pm2 save
    pm2 startup

3. Развертывание клиентского приложения

  1. Скопируйте код вашего клиентского приложения на сервер.
    scp -r /path/to/your/client/code username@API:/home/username/client
  2. Перейдите в каталог с вашим клиентским приложением и установите зависимости:
    cd /home/username/client
    npm install
  3. Соберите клиентское приложение:
    npm run build
  4. Запустите клиентское приложение с PM2:
    pm2 start npm --name client -- run start
    pm2 save

Настройка Nginx

Убедитесь, что ваш Nginx настроен корректно для работы с доменом и проксированием запросов к серверу.

  1. Откройте файл конфигурации Nginx:

    sudo nano /etc/nginx/sites-available/hostname.com
  2. Добавьте или обновите конфигурацию для проксирования:

    server {
    listen 80;
    server_name hostname.com;
    location / { proxy_pass http://localhost:5001; // Прокси для вашего клиентского приложения
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
    }
    }
  3. Сохраните файл и создайте символическую ссылку:

    sudo ln -s /etc/nginx/sites-available/yezzyfood.ru /etc/nginx/sites-enabled/
  4. Проверьте конфигурацию Nginx и перезапустите его:

    sudo nginx -t sudo systemctl restart nginx

Итоговые шаги

  1. Проверьте, что ваше клиентское приложение использует правильный URL для API:

    export const config = { api: { url: "http://API:3000" } };
  2. Перезапустите ваше серверное приложение:

    pm2 restart server
  3. Перезапустите ваше клиентское приложение:

    pm2 restart client
  4. Убедитесь, что ваше клиентское приложение доступно по адресу http://hostname.com и взаимодействует с API по адресу http://API:3000.

Таким образом, ваше клиентское приложение будет доступно по домену hostname.com, а серверное приложение будет доступно по IP-адресу.

5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Корзина для покупок
Главная
Магазин
Блог
Поиск
Профиль
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x