> For the complete documentation index, see [llms.txt](https://docs.iexexchanger.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.iexexchanger.com/ustanovka-i-obnovlenie/sistemnye-trebovaniya.md).

# Системные требования

В данном разделе приведены рекомендации по выбору сервера для установки и эксплуатации **iEXExchanger**.

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

Рекомендации ниже основаны на реальной эксплуатации проектов на базе iEXExchanger и позволяют выбрать оптимальную конфигурацию как для запуска нового проекта, так и для дальнейшего масштабирования.

{% content-ref url="/spaces/uyjsNtEAtO6Sby8CHWyD/pages/pXzLsJi955YSo3KNEDw7" %}
[Хостинг и VPS](/help-center/upravlenie-serverom/khosting-i-vps.md)
{% endcontent-ref %}

## Минимальные требования

Минимальная конфигурация подходит только для тестовой эксплуатации, первичной установки и небольшого проекта на старте.

<table><thead><tr><th width="271.8125">Компонент</th><th>Требование</th></tr></thead><tbody><tr><td>Операционная система</td><td>Debian 12 или Ubuntu 24</td></tr><tr><td>Процессор</td><td>2 vCPU</td></tr><tr><td>Оперативная память</td><td>4 GB RAM</td></tr><tr><td>Диск</td><td>40 GB SSD или NVMe</td></tr><tr><td>Сеть</td><td>от 100 Mbps</td></tr></tbody></table>

Минимальная конфигурация не рекомендуется для активного production-проекта. При росте количества заявок, фоновых процессов, парсеров, уведомлений и аналитики ресурсов может быстро стать недостаточно.

## Рекомендуемая конфигурация

Для большинства обменных пунктов рекомендуется начинать с более комфортной конфигурации:

<table><thead><tr><th width="264.03125">Компонент</th><th>Требование</th></tr></thead><tbody><tr><td>Операционная система</td><td>Debian 12 или Ubuntu 24</td></tr><tr><td>Процессор</td><td>4 vCPU</td></tr><tr><td>Оперативная память</td><td>16 GB RAM</td></tr><tr><td>Диск</td><td>80+ GB NVMe</td></tr><tr><td>Сеть</td><td>от 1 Gbps</td></tr></tbody></table>

Данная конфигурация обеспечивает более стабильную работу:

* сайта обменного пункта;
* административной панели;
* Laravel Horizon;
* Laravel Reverb;
* Laravel Pulse;
* очередей обработки;
* уведомлений;
* аналитики;
* фоновых задач;
* Frontend SSR через Node.js и PM2;
* Redis;
* базы данных.

Ранее конфигурация с **8 GB RAM** могла использоваться как стандартный стартовый вариант, однако на практике при активной работе проекта память может заполняться полностью. Поэтому для production-сервера рекомендуется закладывать **16 GB RAM**, особенно если все службы работают на одном сервере.

## Допустимая стартовая конфигурация

Если проект только запускается и нагрузка небольшая, можно начать с промежуточного варианта:

<table><thead><tr><th width="291.84375">Компонент</th><th>Требование</th></tr></thead><tbody><tr><td>Операционная система</td><td>Debian 12 или Ubuntu 24</td></tr><tr><td>Процессор</td><td>4 vCPU</td></tr><tr><td>Оперативная память</td><td>8 GB RAM</td></tr><tr><td>Диск</td><td>80 GB NVMe</td></tr><tr><td>Сеть</td><td>от 1 Gbps</td></tr></tbody></table>

Такой вариант допустим для старта, но его лучше рассматривать как временный. Если проект начинает активно получать трафик, заявки, использовать парсеры, аналитику, уведомления и Reverb, рекомендуется перейти на **16 GB RAM**.

## Конфигурация для высоких нагрузок

Если проект активно развивается и имеет большое количество посетителей, направлений, заявок и фоновых процессов, рекомендуется использовать серверы следующего уровня:

<table><thead><tr><th width="291">Компонент</th><th>Требование</th></tr></thead><tbody><tr><td>Процессор</td><td>от 8 vCPU</td></tr><tr><td>Оперативная память</td><td>от 32 GB RAM</td></tr><tr><td>Диск</td><td>NVMe</td></tr><tr><td>Сеть</td><td>от 1 Gbps</td></tr></tbody></table>

При необходимости нагрузка может быть распределена между несколькими серверами: отдельно backend, frontend, база данных, Redis и фоновые процессы.

***

## Выбор процессора

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

Рекомендуется использовать современные процессоры:

* **AMD EPYC;**
* AMD Ryzen;
* **Intel Xeon;**
* Intel Core последних поколений.

Чем выше частота процессора и производительность одного ядра, тем быстрее будут выполняться операции внутри системы.

Для высоконагруженных проектов оптимальным вариантом являются серверы на базе **AMD EPYC**.

## Выбор дисковой подсистемы

Для работы iEXExchanger рекомендуется использовать **NVMe-накопители**.

{% stepper %}
{% step %}

### NVMe

Преимущества:

* высокая скорость чтения и записи;
* быстрая работа базы данных;
* ускоренная обработка очередей;
* более быстрый отклик административной панели;
* стабильная работа аналитики и фоновых задач.
  {% endstep %}

{% step %}

### SSD

Допустим для небольших проектов и начального этапа эксплуатации.
{% endstep %}

{% step %}

### HDD

Не рекомендуется.

Использование HDD может привести к заметному снижению производительности системы, медленной работе базы данных, задержкам в очередях и долгому открытию административной панели.
{% endstep %}
{% endstepper %}

## Оперативная память

iEXExchanger использует несколько служб одновременно:

* PHP;
* MySQL или MariaDB;
* Redis;
* Node.js;
* PM2;
* Supervisor;
* Laravel Horizon;
* Laravel Reverb;
* Laravel Pulse;
* фоновые задачи;
* очереди;
* аналитика.

Если все эти службы работают на одном сервере, **8 GB RAM может быть недостаточно** при активной эксплуатации.

Рекомендуемые значения:

<table><thead><tr><th width="331.9765625">Сценарий</th><th>RAM</th></tr></thead><tbody><tr><td>Тестовая установка</td><td>4 GB</td></tr><tr><td>Небольшой стартовый проект</td><td>8 GB</td></tr><tr><td>Рекомендуемый production</td><td>16 GB</td></tr><tr><td>Высокая нагрузка</td><td>32 GB и выше</td></tr></tbody></table>

Для большинства production-проектов рекомендуется использовать:

```
16 GB RAM
```

Это даёт запас для базы данных, Redis, Horizon, Reverb, Pulse, Node.js, PM2 и фоновых процессов.

## Выбор локации сервера

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

Пример:

<table><thead><tr><th width="251.4609375">Аудитория</th><th>Рекомендуемая локация</th></tr></thead><tbody><tr><td>Европа</td><td>Германия, Нидерланды, Эстония</td></tr><tr><td>СНГ</td><td>Германия, Нидерланды, Финляндия, Эстония</td></tr><tr><td>Азия</td><td>Сингапур, Япония</td></tr><tr><td>Ближний Восток</td><td>ОАЭ</td></tr></tbody></table>

Даже при использовании CDN сервер лучше размещать ближе к основной аудитории, потому что динамические запросы, заявки, админка и API всё равно обрабатываются сервером.

## Использование Cloudflare

Для всех проектов рекомендуется использовать **Cloudflare** или другой CDN-сервис.

{% content-ref url="/spaces/uyjsNtEAtO6Sby8CHWyD/pages/xV5wBvvkGSgSsZ10b5qE" %}
[Cloudflare](/help-center/administrirovanie/seti-i-bezopasnost/cloudflare.md)
{% endcontent-ref %}

Cloudflare позволяет:

* защитить сайт от DDoS-атак;
* ускорить загрузку статических файлов;
* снизить нагрузку на сервер;
* использовать CDN по всему миру;
* дополнительно защитить инфраструктуру проекта.

Использование Cloudflare рекомендуется независимо от размера проекта.

Важно: не рекомендуется агрессивно кешировать динамические страницы, API, админку, страницы заявок и платёжные страницы. CDN должен ускорять статические ресурсы, но не мешать динамической работе обменника.

## Масштабирование проекта

По мере роста посещаемости рекомендуется увеличивать ресурсы сервера.

Обычно масштабирование происходит в следующем порядке:

1. Увеличение оперативной памяти.
2. Увеличение количества vCPU.
3. Переход на более быстрые NVMe-диски.
4. Вынос базы данных на отдельный сервер.
5. Вынос Redis и очередей на отдельный сервер.
6. Использование балансировки нагрузки.

Большинство проектов могут стабильно работать на одном сервере с конфигурацией:

```
4 vCPU
16 GB RAM
80+ GB NVMe
```

Если проект активно растёт, лучше заранее выбирать тариф с возможностью быстрого увеличения ресурсов.

## Необходимое программное обеспечение

После выбора сервера на нём необходимо установить и настроить программное обеспечение, требуемое для работы iEXExchanger.

<table><thead><tr><th width="239.72265625">Компонент</th><th>Требование</th></tr></thead><tbody><tr><td>PHP</td><td>8.4</td></tr><tr><td>Node.js</td><td>24</td></tr><tr><td>Redis</td><td>Требуется</td></tr><tr><td>Supervisor</td><td>Требуется</td></tr><tr><td>PM2</td><td>Требуется</td></tr><tr><td>Nginx</td><td>Требуется</td></tr><tr><td>MySQL</td><td>8.0+</td></tr><tr><td>MariaDB</td><td>10.11+</td></tr><tr><td>ionCube Loader</td><td>Для PHP 8.4</td></tr></tbody></table>

Эти компоненты относятся не к характеристикам сервера, а к окружению, которое устанавливается после покупки или подготовки сервера.

{% stepper %}
{% step %}

### PHP-расширения

Для корректной работы backend-части требуются PHP 8.4 и необходимые расширения.

Основные расширения:

* `bcmath`;
* `curl`;
* `dom`;
* `gmp`;
* `intl`;
* `json`;
* `mbstring`;
* `mysqli`;
* `openssl`;
* `pdo_mysql`;
* `redis`;
* `simplexml`;
* `soap`;
* `sodium`;
* `xml`;
* `zip`.

Дополнительно рекомендуется:

* `imagick`;
* `yaml`;
* `ffi`.
  {% endstep %}

{% step %}

### Node.js и PM2

Node.js требуется для работы **Frontend SSR** основного сайта.

PM2 используется для запуска и контроля Node.js-процесса frontend-части.

Рекомендуемая версия:

```
Node.js 24
```

Backend-заявки, админка и серверная логика работают на PHP, но основной frontend-сайт использует Node.js и PM2.
{% endstep %}

{% step %}

### ionCube Loader

Для production-релиза iEXExchanger требуется **ionCube Loader** под PHP 8.4.

Он необходим для запуска защищённых production-файлов backend-части.
{% endstep %}
{% endstepper %}

## Рекомендуемая серверная панель

Для стандартной установки рекомендуется использовать:

```
Debian 12 + FastPanel
```

FastPanel упрощает управление сайтами, PHP-версиями, SSL-сертификатами, базами данных, cron-задачами и Nginx-конфигурацией.

FastPanel не является частью iEXExchanger, но рекомендуется как удобная панель для большинства клиентов.

## Итоговые рекомендации

Используйте **Cloudflare** или другой CDN для ускорения статических ресурсов и дополнительной защиты.

Выбирайте **NVMe** для production-проектов и проектов с высоким трафиком.

Оптимальный процессор для высокой нагрузки — **AMD EPYC**.

Для большинства production-проектов используйте конфигурацию:

```
4 vCPU
16 GB RAM
80+ GB NVMe
```

Конфигурацию с **8 GB RAM** можно использовать только как стартовую, если проект небольшой и нагрузка умеренная.

Подбирайте **Debian 12 + FastPanel** для простоты и стабильности управления сервером.

Размещайте сервер ближе к целевой аудитории, даже если используется CDN.

После выбора сервера подготовьте окружение: **PHP 8.4**, **ionCube Loader**, **Redis**, **Supervisor**, **Node.js 24**, **PM2**, **Nginx** и **MySQL или MariaDB**.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.iexexchanger.com/ustanovka-i-obnovlenie/sistemnye-trebovaniya.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
