Введение: #
Next.js — это фреймворк на JavaScript, использующий React для построения Server Side Render-приложений (SSR) и статически-генерируемых сайтов. Он предоставляет ряд преимуществ перед чистым React, в том числе:
- Быстрая загрузка страниц благодаря SSR
- Улучшенная SEO благодаря статической генерации
- Удобный для разработчиков синтаксис
Наставник Хекслета Глеб Андреев рассказывает, кто создал Next JS, зачем его использовать и в чем его плюсы и минусы перед чистым React.
В этой статье мы рассмотрим, как установить Next.js в cPanel.
Подготовка проекта на локальном сервере: #
Независимо от того, используете ли вы Next JS, Vue, React, Gatsby или любой другой генератор сайтов на основе Next JS или React, выполните следующие действия.
В Next JS это будет папка с вашим проектом:

1) Начните инициализацию проекта, пример:
yarn build
2) Соберите проект и создайте архив .zip, пример:
yarn export
Загрузите проект Next.js на сервер #
1) Авторизируйтесь в панели управления cPanel
- зайти в панель управления доступы были отправлены на контактный электронный адрес.
- или перейдя из личного кабинета в нужную услугу.
2) Для загрузки файлов вы можете выбрать любой из удобных для вас способов:
- Вы можете использовать SSH и консоль
- FTP-клиент, например Total Commander
- Вы также даже можете использовать менеджер файлов cPanel

3) Загрузите все файлы в корневую папку сайта, например в public_html. За тем распаковать загруженные файлы.

4) Теперь создайте файл .htaccess с следующим содержимым в корневой папке вашего сайта.
(Этот файл направит ваши URL-адреса на index.html)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . /index.html [L]
</IfModule>
Заключение:
После выполнения этих действий установка Next.js в cPanel будет завершена. Вы можете переходить к более тонкой настройке сайта и смонтировать админку.
Видео инструкция как развернуть приложение NextJS в cPanel: