Шаг 3: Команды терминала
На этом этапе вам необходимо подключиться к серверу через SSH и выполнить набор специальных команд. Эти команды подготовят ваш сервер, установят и обновят важные компоненты, которые необходимы для стабильной и быстрой работы вашего обменника.
Как открыть терминал и подключиться к серверу по SSH?Важно:
На этом этапе необходимо подключиться к серверу через SSH под пользователем root, так как именно root имеет полный доступ к системе и может выполнять все необходимые команды. Это критично для корректной установки и настройки компонентов, обеспечивающих стабильную и быструю работу обменника.
Перед началом: проверьте, что FastPanel PHP 8.4 установлен
В FastPanel должен быть установлен PHP 8.4 и доступен путь: /opt/php84/bin/php
Проверка: /opt/php84/bin/php -v
Если команда не найдена — сначала установите PHP 8.4 в FastPanel.
Этап 0: Проверка и установка sudo (если отсутствует)
Иногда на "чистых" серверах sudo может отсутствовать. Сначала проверяем и при необходимости ставим.
if ! command -v sudo >/dev/null 2>&1; then
apt update -y
apt install -y sudo
fiЭтап 1: Обновление системы и установка компонентов
Что будет сделано
Обновление системы и пакетов
Установка Redis (кэширование и очереди)
Установка Supervisor (автозапуск и контроль процессов)
Установка инструментов сборки (нужны для EV)
Установка базовых утилит (curl, git, openssl и т.п.)
Команды для выполнения:
Важно при установке пакетов
Если появится вопрос: Do you want to continue? [Y/n] — ответьте Y и нажмите Enter.
Этап 2: Сделать PHP 8.4 (FastPanel) основным для CLI
В FastPanel PHP 8.4 находится по пути: /opt/php84/bin/php
Сделаем так, чтобы команда php в терминале использовала именно PHP 8.4.
Команды
Этап 3: Установка ionCube Loader 15
Loader подключаем первым через файл:
/opt/php84/conf.d/00-ioncube.iniСкачивание: IPv4 + fallback ZIP, если tar.gz не скачался.
Команды
Этап 4: Установка расширения EV
Мы ставим EV не в системный PHP, а в FastPanel PHP 8.4 (/opt/php84).
Для EV обязательно нужен модуль sockets. Если sockets не загружен, EV не запустится (ошибка socket_ce).
Команды
Важно при установке EV
Если появится вопрос: Enable internal debugging in ev [no]: — просто нажмите Enter.
Этап 3: Настройка лимитов открытых файлов (limits.conf)
Данная настройка необходима, чтобы сервер стабильно обрабатывал большое количество одновременных подключений, запросов и корректно функционировал под высокими нагрузками.
Откройте терминал сервера и выполните следующую команду для открытия конфигурационного файла:
В открывшемся редакторе файла перейдите в самый низ и добавьте следующие строки (замените слово имя_пользователя на фактическое имя вашего пользователя сервера):

Здесь:
www-data — стандартный пользователь веб-сервера.
soft и hard — типы лимитов.
soft — рекомендуемый предел (может временно превышаться).
hard — жёсткий предел (нельзя превышать).
nofile — количество одновременно открытых файлов.
Значение 10000 оптимально для большинства веб-приложений и серверов.
Как сохранить изменения
На Mac и Linux (редактор nano):
Нажмите комбинацию клавиш
Control + Oдля сохранения файла.Затем подтвердите сохранение, нажав Enter.
Для выхода из редактора нажмите Control + X.
На Windows (редактор nano в WSL, Git Bash и аналогичных):
Нажмите комбинацию клавиш
Ctrl + Oдля сохранения файла.Затем нажмите Enter для подтверждения.
Закройте редактор, нажав Ctrl + X.
Этап 4: Подробная настройка веб-сервера Nginx
На этом этапе вы настроите веб-сервер Nginx таким образом, чтобы он мог без перебоев работать с большим количеством одновременно подключенных пользователей и эффективно справлялся с повышенной нагрузкой.
Эта настройка особенно важна, так как по умолчанию сервер имеет достаточно низкие ограничения на количество одновременных подключений, что может привести к ошибкам и проблемам в работе обменника при увеличении числа посетителей и запросов.
1. Откройте конфигурационный файл Nginx
Сначала подключитесь к серверу через SSH.
Затем в терминале введите следующую команду:
sudo — выполнение команды с правами администратора.
nano — текстовый редактор в терминале.
/etc/nginx/nginx.conf — это основной файл настроек веб-сервера Nginx.
После выполнения этой команды откроется конфигурация веб-сервера.
2. Внесите важные изменения в конфигурацию
В открывшемся файле найдите строчку:
Эта строчка показывает, где хранится файл, в котором записан ID процесса Nginx. Вам нужно вставить настройки сразу после этой строки, чтобы изменения были максимально эффективны и правильно применялись сервером.

Удалите стандартный блок настроек, который выглядит так:
Стандартное значение ограничивает сервер 1024 одновременными подключениями. Для современных сайтов это значение обычно недостаточно, особенно под высокой нагрузкой.
Вместо удалённого блока добавьте новый блок, указанный ниже:
Подробное описание новых параметров:
worker_rlimit_nofile 10000
Это ограничение количества одновременно открытых файлов, доступных для каждого рабочего процесса Nginx.
Веб-серверу необходимо открывать файлы для каждого подключения (каждого запроса или каждого пользователя). Чем больше это число, тем больше одновременных подключений сервер сможет корректно обработать. Значение 10000 является оптимальным в большинстве случаев.
worker_connections 10000
Указывает максимальное количество одновременных подключений, которое сможет обрабатывать каждый отдельный рабочий процесс Nginx. Большое значение необходимо, чтобы сервер не отказывал в подключениях при высокой нагрузке и потоке пользователей.
multi_accept on
Настройка, позволяющая серверу одновременно принимать несколько входящих подключений за одно событие. По умолчанию сервер принимает одно подключение за раз, и это может создавать очереди, когда одновременно пытается подключиться много пользователей. Включение этой опции существенно ускоряет обработку входящих подключений.
После того, как вы добавили указанные строки, сделайте следующее:
Как сохранить изменения
На Mac и Linux (редактор nano):
Нажмите комбинацию клавиш
Control + Oдля сохранения файла.Затем подтвердите сохранение, нажав Enter.
Для выхода из редактора нажмите Control + X.
На Windows (редактор nano в WSL, Git Bash и аналогичных):
Нажмите комбинацию клавиш
Ctrl + Oдля сохранения файла.Затем нажмите Enter для подтверждения.
Закройте редактор, нажав Ctrl + X.
3. Перезапустите веб-сервер Nginx
Теперь изменения нужно применить, перезапустив сервер Nginx.
Для этого выполните команду:
Эта команда перезапустит веб-сервер, и все сделанные вами изменения вступят в силу сразу после этого.
Этап 5: Настройка стабильной работы проекта с Supervisor и PM2
Для обеспечения стабильной работы вашего обменника даже при сбоях или перезагрузке сервера необходимо настроить специальные инструменты автоматического управления приложениями:
Supervisor — это инструмент, который следит за фоновыми процессами вашего Laravel-приложения (например, очереди задач, отправка уведомлений, мониторинг производительности). Supervisor автоматически перезапускает процессы, если они вдруг остановились, гарантируя бесперебойную работу вашего сайта.
PM2 — это инструмент, который управляет работой вашего Angular frontend-приложения. PM2 обеспечивает автоматический перезапуск приложения при сбоях, мониторинг использования ресурсов и удобное ведение журналов (логов).
Обязательно выполните инструкции по ссылкам ниже для настройки каждого компонента:
Настройка SupervisorНастройка PM2После того как вы завершите настройку, сервер будет полностью готов к надёжной и стабильной работе вашего обменника.
Совет
Обязательно убедитесь, что выполнили инструкции полностью и без ошибок, так как от этого зависит надёжность работы вашего обменника.
Этап 6: Установка корректных прав доступа на файлы проекта
Правильная настройка прав доступа необходима для безопасной работы вашего backend-приложения (Laravel). Корректно выставленные права позволяют вашему пользователю управлять всеми файлами проекта, выполнять команды от своего имени и избегать ошибок прав доступа.
После загрузки файлов на сервер может возникнуть ситуация, когда пользователь сайта (созданный в FastPanel) не имеет прав на редактирование или запуск некоторых файлов или директорий. Данная настройка исправит эту проблему.
Выполните следующую команду в терминале:
Обязательно замените указанные значения на свои:
имя_пользователя – имя пользователя, созданное в панели управления (например, пользователь FastPanel).
путь_к_проекту – путь к директории вашего сайта на сервере (например, /var/www/ваш_домен или /var/www/app.ваш_домен).
Что делает эта команда:
sudo – выполняет команду с правами администратора.
chown – изменяет владельца файлов и папок.
Параметр -R – применяет изменения ко всем файлам и папкам внутри указанной директории.
После выполнения этой команды, у вас будут правильные права на управление всеми файлами и директориями вашего проекта.
Завершающий этап: запуск команд от имени пользователя проекта
На этом этапе необходимо выполнить несколько команд в терминале, которые завершат подготовку вашего проекта и сделают его полностью рабочим и готовым к использованию.
Выполните эти шаги по порядку и внимательно следуйте инструкции ниже.
Шаг 1: Авторизация под пользователем сайта
Сначала авторизуйтесь под пользователем сайта, чтобы все команды выполнялись от его имени, а не от администратора. Это безопасно и правильно для работы приложения.
Введите в терминал следующую команду:
Замените имя_пользователя на имя, которое вы создавали в панели FastPanel.
Шаг 2: Переход в директорию сайта
Теперь перейдите в каталог (папку) вашего проекта, чтобы команды запускались именно для него.
Для этого используйте команду:
Обязательно замените /var/www/app.ваш_домен на полный путь к вашему проекту.
Шаг 3: Запуск дополнительных команд для настройки проекта
Теперь нужно выполнить три команды Laravel, которые завершат подготовку проекта:
Введите каждую команду последовательно и после каждой нажимайте Enter:
Важно: если при выполнении этой команды вы увидели любые предупреждения, ошибки или сообщения об отказе доступа (например, проблемы с правами на файлы или ошибки зависимостей), выполните команду повторно. Повторный запуск поможет устранить временные конфликты или неполные изменения, которые могли возникнуть при первом запуске. Если после повторного запуска ошибки сохраняются, обратитесь за технической поддержкой.
Что делают эти команды:
php artisan product:apply-update – устанавливает или обновляет базовые компоненты и выполняет все необходимые миграции для работы обменника.
php artisan key:generate – генерирует уникальный ключ приложения, который будет использоваться для шифрования данных. Это важно для безопасности вашего сайта.
php artisan reverb:install – настраивает работу сервиса Reverb, который обеспечивает обмен событиями в реальном времени. Это необходимо для работы уведомлений, статусов и других динамических функций на вашем сайте.
Последнее обновление
Это было полезно?