Вопрос или проблема
У меня есть сервер Ubuntu с установленным Docker и несколькими контейнерами. Недавно я заметил, что Jellyfin имеет проблемы с запуском. После переустановки примерно 5 раз я заметил, что он не может запуститься из-за занятого порта. Поэтому я попытался узнать как можно больше информации об этом процессе.
Первая команда
sudo lsof -i :8096
:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mass 1430 root 17u IPv6 28191 0t0 TCP *:8096 (LISTEN)
mass 1430 root 19u IPv4 28192 0t0 TCP *:8096 (LISTEN)
Затем
ps -Flww -p 1430
F S UID PID PPID C PRI NI ADDR SZ WCHAN RSS PSR STIME TTY TIME CMD
4 S root 1430 1204 0 80 0 - 265524 - 67608 3 Mar26 ? 00:22:57 /usr/local/bin/python /usr/local/bin/mass --config /data
У меня нет никаких идей, что это за процесс, и очень возможно, что я случайно его установил, когда разбирался с Linux. Что это за процесс и как я могу от него избавиться?
Вы, возможно, установили этот Music Assistant?
Что ж… не ожидал, что музыкальный помощник займет этот порт…😅 Спасибо большое.
Ответ или решение
Проблема с занятым портом 8096 в Jellyfin
Недавно вы столкнулись с проблемами при запуске Jellyfin на вашем Ubuntu сервере с установленным Docker. После нескольких переустановок вы заметили, что Jellyfin не может запуститься из-за занятости порта 8096. Данная проблема требует тщательного анализа текущих процессов и служб, работающих на вашем сервере.
Шаг 1: Определение занятого порта
Согласно выводам команды sudo lsof -i :8096
, процесс с PID 1430, запущенный от имени пользователя root
, использует порт 8096. Вот что мы увидели:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mass 1430 root 17u IPv6 28191 0t0 TCP *:8096 (LISTEN)
mass 1430 root 19u IPv4 28192 0t0 TCP *:8096 (LISTEN)
На этом этапе мы можем предположить, что программа, занимающая порт, называется mass
, что может быть связано с установленным вами приложением Music Assistant.
Шаг 2: Исследование процесса
Команда ps -Flww -p 1430
показала:
F S UID PID PPID C PRI NI ADDR SZ WCHAN RSS PSR STIME TTY TIME CMD
4 S root 1430 1204 0 80 0 - 265524 - 67608 3 Mar26 ? 00:22:57 /usr/local/bin/python /usr/local/bin/mass --config /data
Это частично подтверждает, что запущенный процесс представляет собой Python-скрипт, связанный с Music Assistant.
Шаг 3: Действия для освобождения порта
Чтобы освободить порт 8096, у вас есть несколько вариантов:
-
Остановка процесса:
Если вы хотите освободить порт сразу, вы можете остановить процесс с PID 1430 с помощью команды:sudo kill 1430
Если процесс не останавливается, можно использовать более "жесткий" вариант:
sudo kill -9 1430
-
Удаление приложения:
Если вы не используете Music Assistant, вы можете удалить его, чтобы предотвратить дальнейшую работу процесса:sudo apt remove music-assistant
или если вы устанавливали его через pip:
pip uninstall music-assistant
-
Конфигурация Jellyfin:
Если вы хотите и дальше использовать Music Assistant, рассмотрите возможность изменения порта сервиса Jellyfin. Это можно сделать в конфигурационном файле Jellyfin, который обычно находится в/etc/jellyfin/system.xml
. Измените значение порта на, например, 8097 и перезапустите Jellyfin.
Заключение
После выполнения указанных действий вы сможете запустить Jellyfin без конфликтов по портам. Если у вас остались вопросы или вы столкнулись с новыми проблемами, не стесняйтесь задать их. Убедитесь, что все старые экземпляры приложений остановлены, чтобы избежать повторной блокировки порта.