Ispmanager ошибка server or network error при загрузке файлов
Словом «сервер» называют железку, подключенную к двум розеткам: питание и выход в сеть. То есть компьютер. Но важна не только железяка (с самым быстрым процессором, безграничной памятью и безразмерным шустрым жёстким диском). Важна ещё программа, которая управляет этой железкой. И эта программа тоже называется «сервер». Так сложилось исторически, но важно понимать, что имеется ввиду под этим словом. Обычно пользователи интернета, которые по каким-то причинам обзавелись своим сайтом, хотят самый быстрый сервер, чтобы он мгновенно отдавал пользователю тот контент, который запрашивается. Скорость работы сервера зависит как от железа, так и от того, как работают программы на этой железяке. И тут пользователи начинают измерять скорость и иначе насиловать свой сервер, запуская всякие программы, которые шлют запросы, получают ответы и на основе этого выдают какие-то рекомендации. Всё хорошо, кроме одного: все эти программы не учитывают (так как не могут ничего, кроме как обрушить шквал запросов) того, что же в это время происходит на самом сервере.
Долгое выполнение скриптов
В настройках PHP выставляется ограничение времени, которое дается скрипту на его выполнение. Многие об этом забывают, выставляя только параметр в файле « php.ini » , находящийся в папке web-сервера Apache.
Проблемы с узлами кластера
После добавления виртуальной машины один из узлов кластера становится недоступен, а при попытке подключения к нему по SSH происходит подключение к виртуальной машине
При выдаче IP-адресов виртуальным машинам из той же подсети, в которой выделены IP-адреса для узлов кластера, возможна выдача IP-адреса, присвоенного узлу кластера. Вследствие этого узел будет недоступен. Для избежания данной проблемы зарезервируйте адреса узлов кластера в локальной базе IP-адресов или в IPmanager, если настроена интеграция.
Для освобождения занятого адреса виртуальной машиной выделите для неё новый IP-адрес. Перейдите в Управление → Виртуальные машины → IP-адреса. Создайте новый IP-адрес и удалите адрес, который пересекается с адресом узла кластера. Для использования виртуальной машиной нового IP-адреса измените настройки сетевого интерфейса и перезапустите сеть командой:
Ошибка при добавлении узла кластера: "Ошибка установки пакетов 'vmmanager-kvm-pkg-vmnode' на удалённом сервере. Дополнительная информация доступна в журнале панели управления"
Причина: пакет libguestfs устанавливается только в интерактивном режиме.
Решение: установите пакет vmmanager-kvm-pkg-vmnode из консоли.
Не добавляется узел с операционной системой CentOS
Возможная проблема — не устанавливаются необходимые пакеты. Причина — отсутствие подключённого репозитория epel. Возможная причина — неверная дата на сервере — репозиторий не находится. Проверьте и исправьте при необходимости время и дату и повторите попытку.
Не добавляется узел. Ошибка: "Невозможно применить правила брандмауэра: ошибка в синтаксисе iptables"
В логах vmmgr.log при этом видно ошибку запуска скрипта /etc/libvirt/hooks/firewall.sh:
Для решения проблемы закомментируйте строки в конфигурационном файле /etc/modprobe.d/ipv6.conf и перезапустите модуль ipv6.
Если не удается включить эти службы через ISPmanager, то подключитесь к серверу по ssh и запустите веб-сервер командами консоли, приведенными ниже в таблице.
Команда запуска веб-сервера
Запустить Web-cервер Apache
Запустить Web-cервер Nginx
Решение № 2 — замена символов
Алгоритм нахождения
Что способствует возникновению ошибки 500
Решение № 2 — перезагрузка сервера
При размещении ресурса на базе физического или виртуального выделенного сервера (VPS) может иногда возникать ошибка 500. Если страница временно недоступна и браузер выдает ошибку с кодом «500», а изменения прав доступа были испробованы, то нужно просто перезагрузить сервер.
Журнал (лог) ошибок сервера
Кроме всего прочего, все внешние программы вносят значительные ошибки в статистику, на основании которой строится стратегия, что делать с сайтом дальше. Если конечно есть хоть какая-то стратегия развития. =)
Именно в этом журнале и можно посмотреть, какие страницы отсутствую на сайте и откуда пришёл пользователь с этим запросом (так называемые «битые ссылки» — «Ошибка 404» и прочие ошибки уровня 400). А ещё сюда пишутся ошибки сервера, которые он вообще не смог обработать (так называемые «Ошибка 500»).
Зная про это и разобравшись с кодами ошибок можно их устранить и наладить работу сайта так, чтобы сервер работал по возможности без ошибок.
О том, как найти лог ошибок сервера в в ISP-manager пользователя и рассмотрим в этой статье.
Некорректная работа CMS
Причиной появления ошибки «500» могут стать неверные настройки CMS. Наиболее часто используются WordPress и Joomla. Следовательно, на их примере и нужно разобрать причины возникновения проблемы, а также решения по ее устранению.
Веб-сервер Apache
При запуске Apache возможны следующие ошибки, которые отобразятся в командной строке.
bad user name
Эта ошибка означает, что пользователь usertest не существует, однако это имя прописано в конфигурационном файле Apache в директивах SuexecUserGroup или AssignUserID. Эти директивы содержат информацию о владельце домена и в зависимости от версии Apache используется одна из них:
Apache-mpm-ITK использует AssignUserID
Apache-mpm-Prefork использует SuexecUserGroup.
Чтобы узнать вашу версию Apache, выполните команду
Перезапустите веб-сервер после внесения изменений.
Syntax error
Проверьте, установлен ли PHP на сервере, при помощи команды
При положительном результате вы получите следующий ответ:
Далее проверьте, подключен ли PHP-модуль к веб-серверу Apache, при помощи команд:
FreeBSD
grep -R -i "LoadModule php5_module" /usr/local/etc/apache22/
Debian\Ubuntu
grep -R -i "LoadModule php5_module" /etc/apache2/
/etc/apache2/mods-available/php5.load:LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
/etc/apache2/mods-enabled/php5.load:LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
Centos
в случае Apache-ITK:
Если вы получили в результате выполнения команды ответ
Если PHP не был установлен на веб-сервер, выполните его установку приведенными ниже командами.
В случае ОС Centos модуль PHP отдельно устанавливать не нужно. Проверьте, есть ли на сервере библиотека PHP при помощи команды:
При положительном ответе системы вы получите ответ:
Если библиотеки PHP на сервере нет, то выполните установку PHP командой:
Обратите внимание, что если PHP все же установлен, а вы все-равно выполняете эту команду, то результате может быть выполнена установка новой версии PHP!
Перезапустите веб-сервер Apache после внесения изменений.
Server reached MaxClients setting
Ошибка заключается в том, что был превышен лимит одновременных подключений к серверу (сайт загружает больше пользователей, чем прописано в конфигурационном файле). Измените этот лимит в соответствующем файле.
Для FreeBSD это
Для Debian/Ubuntu это
Оптимальное параметра MaxClients рассчитывается по формуле:
Out of memory
Ошибка возникает, если на сервере не хватает оперативной памяти для загрузки сайта. Можно уменьшить значение MaxClients, как описано выше, но это одна из возможных причин нехватки памяти. Нужен детальный анализ причины возникновения этой ошибки.
Решение № 1 — изменение прав
Для доступа к файловой системе сервера можно использовать бесплатный клиент FileZilla. Его необходимо установить, а затем запустить.
Алгоритм изменения атрибута файла (папки)
Рекомендуемые числовые значения для файлов — « 644 » и директорий — « 755 ». Необходимо пересматривать и изменять права отдельно для каждого объекта файловой системы. Этот подход позволит избежать ошибок.
Если изменение прав доступа не привело к положительному результату, а при открытии сайта снова появляется ошибка 500, то следует попробовать другой способ решения проблемы.
Решение № 1 — исправление кода
Для определения причины ошибки «500», связанного с некорректным файлом .htaccess, последний необходимо сохранить в другом месте, а исходник удалить. Если сайт заработал, то в сохраненном файле .htaccess следует искать неверный код.
Для поиска существует специальный алгоритм последовательного запуска директив, содержащихся в файле. Его нужно скачать на локальный компьютер, а затем открыть в текстовом редакторе.
Методика выявления неверного кода
Вышеописанного алгоритма достаточно для выявления неверного кода. Однако бывают ситуации, при которых код, на первый взгляд, написан верно, а директивы не поддерживаются хостингом. Тогда нужно попробывать второй вариант решения проблемы.
Превышение лимита выделенной памяти
Некоторые хостинг-компании, чтобы избежать перегрузки сервера, устанавливают определенный лимит памяти, используемой скриптами. В результате превышения этого ограничения возникает внутренняя ошибка сервера с кодом состояния «500».
Веб-сервер Nginx
При запуске Nginx возможны следующие ошибки, которые отобразятся в консоли.
Unknown directive
Could not build the server_names_hash
Если возникла такая ошибка, то нужно уменьшить длину доменного имени или количество имен серверов, поскольку эти величины ограничены значениями параметров. Можно также увеличить значение этих параметров:
Не доступен IP адрес(bind() to failed)
Эта ошибка говорит о том, что не доступен IP-адрес, который указан в конфигурационном файле. В данном примере это 128.11.11.11, которого на самом деле не существует ни на одном интерфейсе сервера. Зайдите в конфигурационный файл Nginx (/etc/nginx/nginx.conf), найдите секцию server и исправьте некорректный IP-адрес. Если домен с таким адресом не найден в nginx.conf, то создайте домен через панель ISPmanager.
PhpPgAdmin by default displays all errors. Updates delete all the changes made by the control panel. To resolve the issue, change the following line in the configuration file /usr/share/phppgadmin/libraries/lib.inc.php:
Проблемы с панелью управления
Обновление ПО кластера VMmanager KVM до VMmanager Cloud
Такое обновление не поддерживается.
VMmanager зависает и тормозит, в логе фигурирует ошибка "too many connections"
Наиболее частой причиной такой проблемы является зависание libvirt. Проверьте, что libvirt отвечает, попробуйте его перезапустить.
Какие процессы важны для VMmanager? Что можно отслеживать?
Какие единицы измерения используются в панели управления?
В панели управления используются KiB и MiB:
- KiB (кибибайт) — 2 в степени 10 = 1024;
- MiB (мебибайт) — 2 в степени 20 = 1048576.
Что отлично от привычных KB и MB:
- MB (мегабайт) — 10 в степени 6 = 1000000;
- KB (килобайт) — 10 в степени 3 = 1000.
Формирование виртуальной машины:
- если требуется создать виртуальную машину c 2GB оперативной памяти, то в форме редактирования необходимо указать 1907MiB (точное значение 2GB = 1907,35MiB);
- если требуется создать диск виртуальной машины размером 15GB, то в панели необходимо указать 14305Mib;
- обратите внимание на калькулятор величин от Google.
Как открыть посмотреть журнал ошибок error.log в ISP-manager пользователя
Итак, ISP-manager, хотя и платная программа, и отжирающая на свою работу часть ресурсов сервера, она всё-таки полезна. Для того, чтобы добраться до журналов работы сервера, нужно:
- Войти в на вкладку «Журналы»,
- Выбрать из списка нужный (журналы с ошибками обозначены обычно error.log )
- Открыть выбранный журнал
Открыть нужный журнал в ISP-панели можно:
- либо двойным кликом левой кнопкой мышки по его названию,
- либо:
- выделив строчку с нужным журналом одним кликом левой кнопкой мышки
- и нажав на кнопку «Посмотреть» в верхнем ряду кнопок управления
Решение № 2 — изменение настроек
Настройка лимита памяти выставляется в файле конфигурации « php.ini ». За этот параметр отвечает опция « memory_limit ».
При использовании VPS она устанавливается экспериментальным путем. После каждого изменения файл загружается на сервер, а затем тестируется работа сайта. Однако нужно помнить об ограничении использования памяти со стороны поставщика услуги.
Выводы
Не обязательно устанавливать программы себе на компьютер или запускать какие-то другие внешние сканеры сайта, которые ничего не знают ни о сервере, ни о том, как он работает, и ничего не умеют, кроме как засыпать сервер запросами и отследить время между ответом и запросом. ну и походить по всем встреченным на сайте ссылкам. Первым делом хорошо бы найти лог ошибок сервера, посмотреть и убедиться, что сервер работает без ошибок, как собственно и сам сайт (особенно, если сайт работает под управлением какой-нибудь CMS с кучей фильтров, плагинов и на каком-нибудь хитром шаблоне, написанном для облегчения создания сайта неопытным пользователем так, чтобы всё сложное выполнял бы за пользователя сервер и браузер несчастного пользователя, который по какой-то нелепой случайности решил посмотреть на такой сайт).
В статье приведены решения наиболее часто возникающих проблем, связанных с работой VMmanager KVM.
Ошибка «500» в WordPress
При работе сайта на движке WordPress методика диагностики появления ошибки с кодом «500» немного отличается от остальных CMS. Проблема может быть связана с .htaccess, установленной темой, плагином или ядром WordPress.
Решение № 1 — файл .htaccess
Файл используется при изменении структуры ссылок и работе плагинов. Кроме того, в него могут вносить изменения ядро CMS, темы и плагины.
Выполнение диагностики
- Скопировать .htaccess на диск, а затем удалить его на сервере.
- Обновить страницу.
- Если сайт заработал, то нужно искать причину в файле.
- Если при обновлении страницы ошибка не исчезнет, то рекомендуется изменить атрибуты файла .htaccess. Для этого нужно запретить запись в файл, задав в правах доступа числовое значение « 644 ».
Последний пункт влияет на активацию плагинов. Его рекомендуется рассматривать как временную меру.
Решение № 2 — смена текущей темы
Для устранения ошибки «500» рекомендуется поменять тему на другую, а затем обновить страницу. Если сайт заработал, то причина в ней. В противном случае нужно перейти к третьему варианту решения проблемы.
Решение № 3 — перебор плагинов
При расширении функциональности сайта пользователи используют соответствующие плагины, которые могут стать причиной внутренней ошибки сервера. Для диагностики неработающего компонента нужно последовательно деактивировать каждый из плагинов.
Порядок деактивации плагина
- Выбрать плагин (стрелка № 1).
- В выпадающем списке указать опцию «Деактивировать» (стрелка № 2).
- Нажать на кнопку «Применить» (стрелка № 3).
- Обновить веб-страницу.
- Перебор плагинов продолжать до возобновления работы интернет-ресурса.
Если деактивация плагинов не привела к положительному эффекту, и сайт по-прежнему не работает, то нужно перейти к четвертому методу.
Решение № 4 — модификация конфигурационного файла
Устранить проблему внутренней ошибки сервера поможет увеличение объема памяти.
Алгоритм модификации
- В корневой директории хостинга необходимо найти файл « wp.config.php ».
- Открыть его в редакторе.
- Перейти в конец файла.
- Добавить код « define(‘WP_MEMORY_LIMIT’, ’64M’) ».
- Сохранить и перезагрузить страницу.
Решение № 5 — обновление CMS
Если ни один из методов не помог, то причина заключается в ядре движка CMS. Для устранения ошибки его нужно обновить до последней версии или переустановить.
Ошибка «500» в CMS Joomla
Ошибка с кодом «500» иногда возникает при попытке зайти в административную панель CMS Joomla. При этом сайт и все его функции работают корректно.
Ошибку нужно искать самостоятельно, перебирая каждый из вариантов. В файле « error.php », который расположен в директории « logs », находится описание всех проблем при работе с CMS.
Решение № 1 — установка прав на «logs»
Чтобы устранить проблему, нужно установить права доступа на папки « logs » и « tmp », которые должны соответствовать числовому значению « 777 ».
Решение № 2 — корректность путей к директориям «logs» и «tmp»
Пути к директориям хранятся в файле « configuration.php ». Необходимо проверить их правильность, указав при необходимости полные пути.
Решение № 3 — проверка .htaccess
При ошибке «500» в административной панели нужно открыть файл .htaccess» и поочередно комментировать строки. После каждого изменения файл нужно сохранять и проверять работоспособность админ-панели.
Если, после реализации предложенных методов исправления ошибки «500», сайт на хостинге по-прежнему не работает, необходимо обращаться к техподдержке хостинг-провайдера.
Решение № 1 — проверка PHP-скриптов
Чтобы проверить PHP-скрипты, следует скачать на локальный компьютер исходник сайта, а затем протестировать его на работоспособность.
Затем требуется проверить описание функций (структуру и код) и включить опцию показа ошибок в « php.ini ».
Опции для тестирования
- error_reporting = E_ALL
- display_errors = On
- display_startup_errors = On
В файле конфигурации нужно указать вышеописанные параметры без точек.
Права доступа к директориям и файлам
Отсутствие необходимых прав доступа к объектам файловой системы (директориям и файлам) довольно часто приводит к ошибке со статусом «500». При переносе сайта на другой хостинг или изменении его структуры (добавлении новых элементов) пользователь забывает изменить права доступа.
Решение № 1 — проверка формата окончания строк
Для проверки символа, содержащегося в конце каждой строки, используется специальный редактор (например, Notepad++ или любой другой с поддержкой отображения символов табуляции).
- Если сервер работает под управлением Unix-систем, то окончание каждой строки должно соответствовать символу « \n ».
- При использовании Windows-платформы — « \rn ».
WWW domains are missing in the control panel
If a menu section is missing in ISPmanager, this means that the module is not uploaded. E.g. in ISPmanager the "WWW domains" module is not displayed, and the log file contains the following record:
- apachectl -M failes
- The WebModules, WebGroup, WebUser directives are missing in the ispmgr.conf configuration file.
- Configuration files of web-servers are missing in /usr/local/mgr5/etc/ispmgr.conf.d/.
Решение № 2 — увеличение времени обработки
Клиенту, пользующемуся услугой VPS, следует увеличить время ожидания сервера. Для этого нужно в « php.ini » найти параметр « set_time_limit » и установить его значение как « 0 », т. е. set_time_limit = 0 .
Если используется веб-хостинг, то выполнить эту операцию не получится. В этом случае необходимо связаться с технической поддержкой.
Cannot start the control panel
Cannot start the control panel. When trying to start the panel from the console, we can see
PhpMyAdmin
Cannot login with the password generated in ISPmanager
Perhaps, you run Mysql 5.7. Due to the changes in this version you can log in as root only by connecting from the process which runs with permissions of the system root user.
To log into phpmyadmin enter user credentials of a certain database.
Как диагностировать ошибку 500
Для диагностики внутренней ошибки сервера с кодом 500 необходимо проверить содержимое файла « error.log », находящийся в корне сайта или в каком-либо другом месте, которое зависит от настроек сервера.
Способ доступа к файлу зависит от того, находится ли сайт на веб-хостинге или размещён на выделенном/физическом сервере.
- На веб-хостинге можно найти « error.log » в панели управления веб-хостингом. Например, в ISPmanager файл с ошибками расположен в разделе «WWW» → «Журнал».
- На VPS файл « error.log » можно посмотреть через консоль, либо предварительно скачать его на локальный компьютер при помощи клиента FileZilla.
Этот метод позволяет выяснить причину возникновения ошибки и за короткий промежуток времени устранить ее. После проведения диагностики можно воспользоваться одним из нижеописанных способов решения проблемы.
Решение № 2 — установка прав доступа
Одной из причин неправильной работы CGI-скриптов является некорректное разрешение прав доступа. Для директории, в которой хранятся CGI-файлы, должны стоять права с числовым значением « 755 ».
Просмотр лога с ошибками error.log в ISP-manager пользователя
Выполнив одно из описанных выше действий, получим ещё одну вкладку в ISP-manager, в которой будет выдано выбранное количество последних строк журнала ошибок:
Решение № 3 — связаться с технической поддержкой
IP address management
Cannot add the IP address to the server interface from the "IP address" section.
When adding an IP address from a new subnet, you need to add the address from the subnet to the server network interface. This error means that there are no IP addresses from the network 10.10.10.0/24 and you need to add one address manually.
The DefaultInterface directive in the ispmgr.conf configuration file (ISPmanager LIte) or ispmgrnode.conf (ISPmanager Business) defines the network interface where ISPmanager will search for the IP address.
Example: DefaultInterface bond0
Restart the control panel to apply the changes
Ошибка в коде CGI-скрипта
Скрипт CGI-типа используется для создания интерактивных страниц, контент которых зависит от действий пользователя. Довольно часто при неверной работе со скриптами этого типа на сайте возникает внутренняя ошибка сервера с кодом «500».
WordPress and SSL
ISPmanager doesn't configure Nginx for WordPress. You need to configure WordPress to avoid redirects. Set up the plug-in in WP "ssl-insecure-content-fixer" and select "HTTP_X_FORWARDED_PROTO" in the WP configuration form.
Код ошибки означает внутренние проблемы с сервером, которые необходимо диагностировать. Произошел сбой работы или нарушена конфигурация системы.
В случае подобной ошибки не обязательно сразу писать в техническую поддержку. Можно попробовать решить эту проблему самостоятельно.
Внутренняя ошибка сервера не всегда свидетельствует о сбое сервера, поскольку указывает на результат, к которому могут привести разные причины.
Некорректный .htaccess
Для файла .htaccess существует определенный синтаксис, который нельзя нарушать. Если в нем неверно указаны директивы, то при обращении к сайту будет возникать ошибка «500». Кроме того, не все директивы поддерживаются на хостинге.
Решение № 1 — оптимизация PHP-скрипта
Чтобы оптимизировать PHP-скрипт, необходимо его переписать без лишнего кода. В интернете существует несколько сервисов для выявления избыточного кода.
Эта задача под силу опытному программисту. Новичку рекомендуется работать со скриптом, тестируя его на локальном сервере, а затем загрузить на хостинг.
Читайте также: