#Симптомы и область применимости
После нажатия «Запустить» в панели хостинга служба отмечена как активная, однако нужный TCP-порт не слушается. Панель может показывать состояние управляющего процесса, тогда как слушатель не создался из-за неверной привязки, ошибки конфигурации или другого экземпляра службы.
#Причины и диагностические признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Служба слушает только локальный адресПорт работает как внутренний backend за прокси либо ошибочно ограничен. | В ss указан 127.0.0.1:порт, а снаружи подключения нет | Сравните назначение службы и listen. |
| Служба не смогла занять портДругой процесс занимает порт или есть конфликт с IPv6. | В журнале address already in use | Определите владельца порта перед изменением. |
| Панель запустила не тот экземплярМожет использоваться системный и встроенный экземпляр приложения. | В панели зелёный статус, а активная конфигурация другого процесса | Сопоставьте PID, unit и путь конфигурации. |
#Пошаговая диагностика и исправление
- 1. Запишите конкретную службу и ожидаемый портВ разделе служб панели найдите название компонента, время запуска и статус; уточните, должен ли он принимать подключения из интернета. Например, Apache за Nginx может слушать только 127.0.0.1:8080, и это штатное поведение. Не открывайте такой backend наружу.
- 2. Проверьте наличие слушателя на LinuxЧерез административный SSH выполните ss -ltnp и найдите TCP-порт. Если порт отсутствует полностью, ошибка в запуске/конфигурации; если есть только localhost, внешний доступ не предполагается без прокси.
- Linux, только чтение сокетов и процессов; при большом списке ищите ожидаемый портLinux · Терминал (Bash)КомандаНужен sudoLinux, только чтение сокетов и процессов; при большом списке ищите ожидаемый порт.
sudo ss -ltnp
- 3. Сравните процесс и службу в панелиВ панели проверьте список связанных сайтов и выбранную версию интерпретатора или веб-сервера. На systemd-узле узнайте имя unit через systemctl list-units, затем посмотрите systemctl status конкретного unit. Не подменяйте имя сервиса случайной догадкой.Linux · Терминал (Bash)КомандаLinux с systemd; чтение. На контейнерах и управляемом хостинге может быть другой менеджер.
systemctl list-units --type=service --state=running
- 4. Откройте журнал именно этого процессаВ панели найдите «Логи»/«Журналы» соответствующего сервиса; при доступе SSH прочитайте журнал unit. Ищите bind failed, permission denied, failed to load module и ошибочные параметры. Путь к логам панели не всегда совпадает с /var/log/nginx.
- 5. Проверьте привязку listen и конфликтыОпределите, не занят ли ожидаемый порт другим сервисом, и сравните объявленный адрес прослушивания в активной конфигурации. При наличии обратного прокси не меняйте localhost на 0.0.0.0 без оценки рисков.
- 6. Проверяйте настройки через правильную панельСохраните настройки и резервную копию конфигурации. Исправьте путь к сертификату, модулю либо слушателю через настройки конкретной службы в панели; избегайте прямой правки файлов, которые панель генерирует при каждом сохранении.
- 7. Выполните штатный тест перед применениемДля Nginx используйте nginx -t, для Apache — apachectl configtest в поддерживаемой среде; у других служб есть собственные средства. Только после успешного теста применяйте конфигурацию способом панели и смотрите её отчёт.Linux · Терминал (Bash)КомандаНужен sudoПример для Nginx, не запускайте на Apache или другом сервере.
sudo nginx -t
- 8. Проверьте порт из правильной точки сетиС сервера повторите ss, из соседнего узла — TCP-проверку, извне — тест только публичного порта. Если процесс слушает, но снаружи недоступен, проверьте облачный брандмауэр и NAT; если нет слушателя, работайте с журналом процесса, не с DNS.
#Как убедиться, что проблема устранена
Нужный компонент слушает ожидаемый адрес и порт, панель не сообщает ошибок применения, а связанный сайт или сервис отвечает со стороны, для которой был предназначен. Внутренние порты остаются закрытыми от внешней сети.
#Если проблема осталась
Если после перезапуска порт пропадает вновь, найдите автоматическое перезаписывание параметров панелью или зависимость от другого сервиса. Приложите обезличенные сведения ss, unit и строку журнала к обращению в поддержку.