# Переустановка PM2

{% content-ref url="/pages/vnxh4CdTILQ5G7Sfyf0d" %}
[Как открыть терминал и подключиться к серверу по SSH?](/pomosh-i-spravka/infrastruktura/kak-otkryt-terminal-i-podklyuchitsya-k-serveru-po-ssh.md)
{% endcontent-ref %}

{% hint style="danger" %}

## Важно!&#x20;

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

**Выполните в терминале:**

```bash
su -l имя_пользователя
```

Это необходимо, чтобы команды PM2 выполнялись в правильном окружении и управляли именно вашим сайтом.
{% endhint %}

PM2 — это программа, которая следит за работой вашего сайта (Node.js-приложения) и автоматически его перезапускает, если он упадёт или после перезагрузки сервера.

Если сайт перестал работать или после перезагрузки сервера он не запустился, можно переустановить и перезапустить PM2.

***

{% stepper %}
{% step %}

### Вход от имени пользователя сайта

Если вы сейчас на сервере под <mark style="color:red;">**root**</mark>, сначала нужно перейти на пользователя, от имени которого работает сайт.

```
su -l имя_пользователя
```

{% hint style="info" %}

## Зачем это нужно:

PM2 хранит список запущенных приложений отдельно для каждого пользователя. Если запускать команды от root, можно работать с пустым списком процессов.
{% endhint %}
{% endstep %}

{% step %}

### Переход в папку с сайтом

Теперь откройте директорию вашего проекта:

```
cd www/<ваш_домен>
```

{% endstep %}

{% step %}

### Остановка и удаление текущего процесса

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

```bash
pm2 delete iexexchanger
```

{% hint style="info" %}

## **Если процесс не найден, появится сообщение:**

Process or namespace iexexchanger not found — это нормально, значит он просто не был запущен.
{% endhint %}
{% endstep %}

{% step %}

### Запуск PM2 с конфигурацией

Запустим сайт с помощью файла `ecosystem.config.cjs` (в нём прописаны все настройки):

```
pm2 start ecosystem.config.cjs
```

Если всё прошло успешно, PM2 покажет список процессов, и у вашего проекта в колонке **status** будет <mark style="color:green;">**online**</mark>.
{% endstep %}

{% step %}

### Включение автозапуска PM2

Чтобы сайт запускался автоматически после перезагрузки сервера, выполните:

```
pm2 startup
pm2 save
```

{% endstep %}
{% endstepper %}

***

## Полезные команды PM2

Остановить приложение:

```
pm2 stop iexexchanger
```

Перезапустить приложение:

```
pm2 restart iexexchanger
```

Просмотреть логи приложения в реальном времени:

```
pm2 logs iexexchanger
```

***

## Проверка работы

После запуска PM2 можно убедиться, что процесс работает:

```
pm2 list
```

В колонке **status** должно быть <mark style="color:green;">**online**</mark>.

Если статус **errored** или **stopped**, значит есть ошибка в конфигурации или коде сайта — смотрите логи командой:

```
pm2 logs iexexchanger
```

***

## Рекомендуемые ссылки

{% content-ref url="/pages/vnxh4CdTILQ5G7Sfyf0d" %}
[Как открыть терминал и подключиться к серверу по SSH?](/pomosh-i-spravka/infrastruktura/kak-otkryt-terminal-i-podklyuchitsya-k-serveru-po-ssh.md)
{% endcontent-ref %}

{% content-ref url="/pages/zWZ3AUXLFEHDpdKvNcTJ" %}
[Настройка PM2](/nachalo-raboty/ustanovka/shag-4-zapusk-processov/nastroika-pm2.md)
{% endcontent-ref %}


---

# Agent Instructions: 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:

```
GET https://docs.iexexchanger.com/nachalo-raboty/nastroiki-servera/pereustanovka-pm2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
