DevGang
Авторизоваться

Ваше приложение Next.js, ваше окружение: Руководство по развёртыванию

Приветствую вас, коллеги-разработчики!

В этом руководстве мы рассмотрим увлекательный процесс развертывания приложения Next.js, использующего последнюю версию, в собственной среде.

Мы рассмотрим три популярных варианта: развертывание в виде статического сайта на Apache, развертывание в виде приложения Node.js и развертывание с помощью Nginx в качестве обратного прокси.

Давайте начнем это увлекательное путешествие!

Вариант 1: Статическое развёртывание с использованием Apache

Шаг 1: Создание приложения Next.js

Первым шагом является создание приложения Next.js.

Откройте каталог проекта и выполните следующую команду:

npm run build

Шаг 2: Настройка Apache

Далее убедитесь, что на вашем сервере или в локальной среде установлен Apache. Если нет, установите Apache и убедитесь, что он работает.

Шаг 3: Настройка виртуального хоста

Создайте конфигурацию виртуального хоста для приложения Next.js.

Отредактируйте конфигурационный файл Apache, обычно расположенный по адресу /etc/apache2/sites-available/, и добавьте следующее:

<VirtualHost *:80>
    ServerName yourdomain.com
    DocumentRoot /var/www/yourdomain.com/public

    <Directory /var/www/yourdomain.com/public>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Замените yourdomain.com на реальное доменное имя и соответствующим образом скорректируйте маршрут DocumentRoot.

Шаг 4: Развертывание приложения Next.js

Скопируйте содержимое каталога Next.js out (созданного на этапе сборки) в каталог public, указанный в конфигурации виртуального хоста.

cp -R .next/* /var/www/yourdomain.com/public

Убедитесь, что вы скопировали все содержимое каталога .next, включая все его подкаталоги и файлы.

Шаг 5: Перезапуск Apache

Наконец, перезапустите Apache для применения изменений:

sudo service apache2 restart

Теперь ваше приложение Next.js должно быть доступно через ваше доменное имя!

Вариант 2: Развертывание Node.js

Шаг 1: Настройка среды Node.js

Убедитесь, что на вашем сервере или в локальной среде установлен Node.js. Если нет, загрузите и установите Node.js с официального сайта.

Шаг 2: Подготовка приложения Next.js

Убедитесь в том, что ваше приложение Next.js готово к работе, создав его:

npm run build

Шаг 3: Настройка PM2 (Process Manager)

Установите PM2, популярный менеджер процессов Node.js, который обеспечит непрерывную работу вашего приложения:

npm install pm2 -g

Шаг 4: Запуск приложения Next.js с помощью PM2

Перейдите в каталог проекта и запустите приложение Next.js с помощью PM2:

pm2 start npm --name "your-app-name" -- start

Замените "your-app-name" на собственное имя вашего приложения.

Теперь ваше приложение Next.js развёрнуто и работает как приложение Node.js!

Вариант 3: Развертывание Node.js с использованием Nginx

Шаг 1: Настройка среды Node.js

Убедитесь, что на вашем сервере или в локальной среде установлен Node.js. Если нет, загрузите и установите Node.js с официального сайта.

Шаг 2: Подготовка приложения Next.js

Убедитесь в том, что ваше приложение Next.js готово к работе, создав его:

npm run build

Шаг 3: Настройка PM2 (Process Manager)

Установите PM2, популярный менеджер процессов Node.js, который обеспечит непрерывную работу вашего приложения:

npm install pm2 -g

Шаг 4: Запуск приложения Next.js с помощью PM2

Перейдите в каталог проекта и запустите приложение Next.js с помощью PM2:

pm2 start npm --name "your-app-name" -- start

Замените "your-app-name" на собственное имя вашего приложения.

Шаг 5. Настройка Nginx в качестве обратного прокси

Установите Nginx и создайте новый файл конфигурации серверного блока:

sudo apt install nginx
sudo nano /etc/nginx/sites-available/yourdomain.com

Добавьте в файл следующую конфигурацию:

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://localhost:3000; # Replace 3000 with your Next.js app's port
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Создайте символическую ссылку для активации новой конфигурации:

sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/

Протестируйте конфигурацию Nginx и перезапустите Nginx:

sudo nginx -t
sudo service nginx restart

Теперь ваше приложение Next.js развернуто и работает как приложение Node.js с Nginx в качестве обратного прокси!

Заключение

Поздравляем с успешным развертыванием приложения Next.js! Независимо от того, выбрали ли вы статическое развертывание с Apache, метод Node.js или развертывание Node.js с Nginx в качестве обратного прокси, вы открыли возможности для демонстрации своего приложения всему миру. Воспользуйтесь этими знаниями и дайте волю своему творчеству, создавая и развертывая новые невероятные веб-приложения!

Если у Вас возникнут вопросы или потребуется дополнительная помощь, обращайтесь.

Счастливого кодирования и счастливого развертывания!

Источник:

#React
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу