> 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/obnovlenie/obnovlenie-s-11.1.8-do-11.2.md).

# Обновление с 11.1.8 до 11.2

Данная инструкция описывает полный процесс обновления платформы iEXExchanger до версии 11.2.

Перед началом внимательно ознакомьтесь со всеми этапами. Выполняйте действия последовательно и не пропускайте шаги.

{% hint style="warning" %}

#### Резервное копирование перед обновлением

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

Сначала сохраните **файлы сайта**. Для этого войдите в панель **FastPanel**, откройте **файловый менеджер**, найдите папку с вашим сайтом, создайте архив в формате ZIP и скачайте его на свой компьютер. Затем обязательно выполните резервное копирование базы данных: перейдите в раздел **«Базы данных»**, выберите нужную базу и воспользуйтесь функцией **экспорта**, чтобы получить SQL-файл. Сохраните его в надёжном месте вместе с архивом сайта.

<br>

**Перед началом обновления убедитесь, что обе резервные копии успешно созданы и сохранены.** Только после этого переходите к дальнейшим действиям. Если вы не уверены, что выполняете резервное копирование правильно, или столкнулись со сложностями при работе с FastPanel, рекомендуется обратиться в **техническую поддержку вашего хостинга**. Специалисты помогут выполнить резервное копирование корректно и подскажут подходящий порядок действий именно для вашего сервера.
{% endhint %}

{% content-ref url="/spaces/uyjsNtEAtO6Sby8CHWyD/pages/OfLcDFWH4NaDvTwPEkDD" %}
[Как создать резервную копию в FastPanel](/help-center/administrirovanie/obsluzhivanie/kak-sozdat-rezervnuyu-kopiyu-v-fastpanel.md)
{% endcontent-ref %}

***

{% hint style="info" %}

## Важно

В данной версии изменена схема работы Nginx. После установки обновления необходимо внести изменения в конфигурацию Nginx согласно актуальной документации.
{% endhint %}

## Перевод сайта в режим обслуживания

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

Для этого в административной панели активируйте режим обслуживания.

Это позволит:

* исключить создание новых заявок;
* избежать конфликтов во время обновления;
* предотвратить ошибки при работе пользователей с системой.

После завершения обновления режим обслуживания можно будет отключить.

<figure><img src="/files/ikieHw6BWLMm12gUYYBi" alt="" width="563"><figcaption></figcaption></figure>

## Подготовка файлов к обновлению

Перед загрузкой новой версии необходимо удалить часть файлов текущей установки.

Данная процедура позволяет избежать конфликтов между файлами предыдущего и нового релиза.

{% stepper %}
{% step %}

### Очистка Frontend

Перейдите в директорию основного сайта.

Пример: `ваш_домен`&#x20;

Удалите следующие папки:

```
dist
logs
```

<figure><img src="/files/PdteijinVPcGp99GU9mB" alt="" width="375"><figcaption></figcaption></figure>

**Назначение папок**

<table><thead><tr><th width="170.765625">Папка</th><th>Назначение</th></tr></thead><tbody><tr><td>dist</td><td>Скомпилированная версия Frontend</td></tr><tr><td>logs</td><td>Журналы работы Frontend</td></tr></tbody></table>

После обновления данные директории будут автоматически созданы заново.
{% endstep %}

{% step %}

### Очистка Backend

Перейдите в директорию Backend.

Пример: `app.ваш_домен`&#x20;

Удалите следующие папки:

```
app
bootstrap
config
database
packages
resources
routes
vendor
```

<figure><img src="/files/K3CF9mlFjVc5C9Ms6DNv" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}

#### Важно

Перед удалением обязательно убедитесь, что вы находитесь именно в директории Backend.

Удаление файлов в неправильной директории может привести к повреждению проекта.
{% endhint %}
{% endstep %}

{% step %}

### Не удаляйте следующие папки

<mark style="color:red;">**Никогда не удаляйте:**</mark>

```
public
storage
```

В данных директориях хранятся:

* пользовательские изображения;
* загруженные файлы;
* документы;
* экспортированные данные;
* служебные файлы системы;
* пользовательский контент.

<mark style="color:red;">**Удаление этих папок может привести к потере данных.**</mark>
{% endstep %}
{% endstepper %}

{% hint style="danger" %}

### Важно

Не забудьте скачать файлы лицензии.

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

Без файлов лицензии обновление может быть установлено не полностью или работать некорректно.
{% endhint %}

{% content-ref url="/pages/hSsHgydQTzax5c06kVsd" %}
[Файлы лицензии и релизы](/nachalo-raboty/faily-licenzii-i-relizy.md)
{% endcontent-ref %}

***

## Загрузка файлов обновления

Для обновления используются два архива:

```
iexexchanger_frontend_update.zip
iexexchanger_backend_update.zip
```

Каждый архив предназначен для своей части системы.

{% stepper %}
{% step %}

### Архив Frontend

Загрузите: `iexexchanger_frontend_update.zip`&#x20;

в директорию основного сайта: `ваш_домен`
{% endstep %}

{% step %}

### Архив Backend

Загрузите: `iexexchanger_backend_update.zip`&#x20;

в директорию Backend: `app.ваш_домен`
{% endstep %}

{% step %}

### Способы загрузки

Вы можете использовать:

* FastPanel;
* FileZilla;
* WinSCP;
* SFTP;
* SCP.

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

Использование пользователя root не рекомендуется.
{% endstep %}

{% step %}

### Распаковка архивов

После загрузки архивов:

1. Найдите архив в нужной директории.
2. Выполните распаковку.
3. Подтвердите замену существующих файлов, если система запросит подтверждение.

Замена файлов является стандартной частью процесса обновления.
{% endstep %}

{% step %}

### Проверка после распаковки

Убедитесь, что:

* архивы успешно распакованы;
* новые файлы появились в системе;
* не возникло ошибок файлового менеджера;
* файлы находятся непосредственно в рабочей директории проекта.

После завершения данного этапа можно переходить к установке обновления.
{% endstep %}
{% endstepper %}

## Применение обновления

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

Если вы ранее не работали с SSH, воспользуйтесь отдельной инструкцией по подключению к серверу.

{% content-ref url="/spaces/uyjsNtEAtO6Sby8CHWyD/pages/cCEoFDjTDIufy3NUEakd" %}
[Подключение к серверу по SSH](/help-center/upravlenie-serverom/podklyuchenie-k-serveru-po-ssh.md)
{% endcontent-ref %}

{% stepper %}
{% step %}

### Переход в директорию Backend

Подключитесь к серверу и выполните команду:

```
cd www/app.ваш_домен
```

или

```
cd /var/www/имя_пользователя_backend/data/www/app.ваш_домен
```

Используйте фактический путь вашего проекта.
{% endstep %}

{% step %}

### Выполнение команд обновления

Выполняйте команды строго в указанном порядке.

**Установка обновления**

```
php artisan product-updates:run --to=11.2
```

Применяет все изменения новой версии системы.

Выполняет обновление файловых источников курсов.
{% endstep %}

{% step %}

### Если команда завершилась с ошибкой

В некоторых случаях ошибка может быть связана с:

* нехваткой прав доступа;
* недостатком свободного места;
* незавершёнными процессами;
* временными сбоями сервера.

Рекомендуется:

1. Ознакомиться с текстом ошибки.
2. Устранить найденную проблему.
3. Повторно выполнить команду.

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

## Завершение обновления

После успешного выполнения всех команд рекомендуется выполнить финальные действия.

{% stepper %}
{% step %}

### Удаление архивов обновления

Удалите ранее загруженные архивы:

```
iexexchanger_frontend_update.zip
iexexchanger_backend_update.zip
```

Это позволит избежать случайного использования устаревших файлов в будущем.
{% endstep %}

{% step %}

### Перезагрузка сервера

Для применения всех изменений рекомендуется выполнить полную перезагрузку сервера.

Через SSH: `reboot`

или воспользуйтесь инструментами вашей панели управления.
{% endstep %}
{% endstepper %}

## Проверка конфигурации PM2

После обновления также рекомендуется проверить файл `ecosystem.config.cjs`, расположенный в директории основного сайта **ваш\_сайт**.

{% content-ref url="/pages/F0heLK3hsvZjgOgUdPsB" %}
[Настройка Frontend](/ustanovka-i-obnovlenie/ustanovka/nastroika-fastpanel/nastroika-frontend.md)
{% endcontent-ref %}

В версии 11.2 необходимо использовать актуальную конфигурацию PM2. Если в файле указаны другие параметры (например, `cluster` или `instances: 'max'`), замените их на рекомендуемую конфигурацию.

Файл `ecosystem.config.cjs` должен выглядеть следующим образом:

```javascript
module.exports = {
    apps: [
        {
            name: 'iexexchanger',
            script: 'dist/exchanger/server/server.mjs',
            cwd: __dirname,
            instances: 1,
            exec_mode: 'fork',
            autorestart: true,
            watch: false,
            max_memory_restart: '1G',
            env: {
                NODE_ENV: 'production',
                PORT: 4000,
                HOST: '127.0.0.1',
                PM2: 'true',
            },
            log_date_format: 'YYYY-MM-DD HH:mm:ss Z',
            error_file: 'logs/err.log',
            out_file: 'logs/out.log',
            merge_logs: true,
            time: true,
            wait_ready: true,
            listen_timeout: 10000,
            kill_timeout: 5000,
            exp_backoff_restart_delay: 100,
        },
    ],
};
```

{% content-ref url="/spaces/uyjsNtEAtO6Sby8CHWyD/pages/7o3axTZ091nAi4NWN8jN" %}
[Настройка и работа PM2 для Frontend](/help-center/administrirovanie/obsluzhivanie/nastroika-i-rabota-pm2-dlya-frontend.md)
{% endcontent-ref %}

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

## Проверка и обновление конфигурации Nginx

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

В версии 11.1.8 изменилась схема работы Nginx, поэтому старая конфигурация может работать некорректно.

Перейдите по ссылке на актуальную инструкцию:

{% content-ref url="/pages/E9WKesM7XwCwE0IsKTAh" %}
[Настройка Nginx](/ustanovka-i-obnovlenie/ustanovka/nastroika-fastpanel/nastroika-nginx.md)
{% endcontent-ref %}

Внимательно проверьте конфигурацию и приведите её к актуальной версии.

Особое внимание уделите:

* настройке проксирования Frontend на Angular SSR;
* отсутствию старых языковых редиректов в Nginx.

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

Только после этого переходите к проверке работы сайта.

## Если сайт не открывается после обновления

Наиболее распространённая причина — не был автоматически запущен Frontend через PM2 после перезагрузки сервера.

Проверьте состояние процессов:&#x20;

```
pm2 list
```

Если процесс отсутствует или находится в состоянии ошибки, воспользуйтесь инструкцией:

{% content-ref url="/spaces/uyjsNtEAtO6Sby8CHWyD/pages/0yytVCNPTqBInGY7hcgi" %}
[Как переустановить PM2?](/help-center/administrirovanie/obsluzhivanie/kak-pereustanovit-pm2.md)
{% endcontent-ref %}

## Обновление успешно завершено

Поздравляем!

Система успешно обновлена до версии iEXExchanger 11.2.

После завершения проверки не забудьте отключить режим обслуживания и вернуть обменный пункт в рабочий режим.

## Перезагрузка сервера

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

Вы можете выполнить перезагрузку одним из способов.

{% stepper %}
{% step %}

### Через SSH

{% content-ref url="/spaces/uyjsNtEAtO6Sby8CHWyD/pages/cCEoFDjTDIufy3NUEakd" %}
[Подключение к серверу по SSH](/help-center/upravlenie-serverom/podklyuchenie-k-serveru-po-ssh.md)
{% endcontent-ref %}

Авторизуйтесь на сервере под пользователем root и выполните команду:

```bash
reboot
```

{% endstep %}

{% step %}

### Через FastPanel

Перейдите в раздел **«Настройки» → «Основное»** и нажмите **«Перезагрузить сервер»**.

После завершения перезагрузки дождитесь запуска всех сервисов и только затем переходите к проверке работоспособности сайта.
{% endstep %}
{% endstepper %}


---

# 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/obnovlenie/obnovlenie-s-11.1.8-do-11.2.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.
