2017-02-12 2 views
0

Я установил локальный сервер на обычный рабочий стол (а не на серверный рабочий стол) и имел 3-4 клиентских компьютера, обращающихся к локальному веб-приложению, которое я разработал с сервера через маршрутизатор WIFI (сервер подключается к маршрутизатору через кабель. Все клиенты через WIFI).Apache localhost не отвечает на запросы клиентов до сброса

Когда два клиента подключены к приложению, все хорошо, но когда подключается третий (или более) компьютер, есть периоды, когда каждая машина не получает никаких услуг с сервера (веб-страница приложения остается загружаемой до тех пор, пока Я вручную сбросил Apache на сервере через службы). Время от времени сервер отвечает, когда один из клиентов обновляет свою страницу, но большую часть времени мне приходится выполнять сброс сервера Apache.

Это происходит примерно раз в час в среднем (6 часов непрерывного использования), так как клиенты используют приложение.

Сервер работает под управлением Windows 7 и Apache v2.4 с PHP v5.4

сервера и все клиентские компьютеры работают под управлением AVG Internet Security

Firewall обрабатывается AVG Internet Security

Является ли это проблема из-за кода в моем приложении, рабочий стол не может управлять запросами, такими как серверная машина, антивирус или комбинация из трех? Если да, то как я могу настроить сервер для сброса автоматически?

Благодаря

UPDATE

Это приложение, где пользователи пишут отчеты о файлах после проверки информации

-Frequent SQL запросов данных файлов

-на изображений

- Некоторые страницы содержат несколько запросов sql, которые представляют страницу е содержание

-Network не имеет подключения к Интернету

-кода не делает запросы на внешней информации из Интернета

-Все клиентские машины запустить приложение на веб-браузере Google Chrome

ответ

0

Но это редко бывает, но иногда количество соединений ограничено сторонним интерфейсом, используемым приложением. Мы не можем понять причину, если у вас нет более подробной информации о том, какой контент вашего приложения и код ошибки apache или HTTP возвращаются.

+0

Всякий раз, когда сервер не обслуживает клиентов (бесконечная загрузка страницы), как только я возвращаю службу apache, они получают сообщение «этот сайт не может быть достигнут». Ниже я расскажу об этом с резюме содержимого приложения. –

+0

Когда проблема повторится, выполните следующие действия, чтобы понять проблему: 1. Проверьте, работает ли ваш apache в порядке, вы можете посетить другие статические страницы на сервере или telnet вашего веб-сервиса (Exp: telnet 192.168.0.1 80), чтобы проверить, вызвана ли проблема в сети; 2. Проверьте, есть ли полезная информация в вашем журнале Apache и PHP; 3: проверьте состояние вашей базы данных с помощью инструмента БД; 4: Проверьте, есть ли какой-либо относительный процесс зомби в диспетчере задач на сервере, если да, убейте его и попробуйте снова получить доступ. – ukalpa

+0

Все настройки сервера работают нормально. Возможно, это может быть связано с моим PHP-кодом. Позвольте мне быть на 100% уверенным, что, хотя, бегая, хотя каждый блок кода –

0

Такие ситуации трудно отследить, особенно в Windows, где диагностические инструменты не так легко доступны, как на других платформах.

Я полагаю, вы можете попробовать и проверить антивирус как на запущенном сервере, так и на клиентах без какого-либо антивируса в течение нескольких часов или отключении и повторной активации антивируса при возникновении зависания.

Кроме того, вы должны точно определить, где происходит ошибка:

  • на стадии подключения (ОС Windows является проблема)
  • на стадии реакции (Apache проблема - попробуйте пустячный с параметрами нерестилища ребенка)
  • на этапе управления (проблема с PHP - вы можете проверить это, изменив настройку с PHP-as-module и PHP-as-CGI-приложение)
  • в этап ответа (то есть подключение к SQL-серверу). Вы можете проверить это, настроив несколько страниц, которые используют разные комбинации сеанса, базы данных и буферизации вывода, и посмотрите, остаются ли страницы, даже когда приложение зависает.

В качестве примера последнего, если страница, такие как

<?php print date("H:i:s"); phpinfo(); ?> 

остается достижимым и правильно обновит (именно поэтому дата() команда), даже если приложение не отвечает, это свидетельствует о том, что Windows, Apache и PHP являются «невиновными», а также SQL-сервер имеет проблемы, или вы не взаимодействуете с ним правильно. Может быть, например, случай (хотя и маловероятен в этом случае), что резидентный PHP-модуль накапливает соединения с SQL-сервером и не освобождает их, поэтому через некоторое время вам необходимо остановить Apache (тем самым освободив модуль) и перезапустить ,

Если это так, даже если это не «реальное» исправление, вы можете настроить Apache так, чтобы все дети умирали и заменялись после небольшого количества запросов (когда это было 150, но когда утечки все, кроме исчез, я считаю, что дефолт стал 0 - дети Apache больше не умирают. Проверьте это, я вполне мог бы забыть).

+0

, я буду выполнять эти проверки и сообщать. Я также указал, что возможным источником является браузер Chrome Chrome (https://www.wintips.org/fix-google-chrome-blank-page-problem/). Я запустил приложение в firefox, когда сервер не сможет обслуживать и посмотреть, что происходит –

Смежные вопросы