Я новичок в управлении веб-сервером. И я пытаюсь узнать, как устранить проблему в Windows Server 2008 R2, использующем IIS 7.5 с веб-сайтом .NET 4.0 MVC.
Веб-сайт, которым я управляю, уже несколько месяцев отлично работает на плане общего хостинга GoDaddy. Последнее обновление кода на сайте было около 6 недель назад. Несколько дней назад сайт перестал работать каждую минуту. Буквально, это было больше похоже на одну секунду за другой. Один из администраторов сайта загрузил страницу, щелкнул ссылку, а следующая страница так и не загрузилась. С тех пор он не работает.
Я потратил ок. 5 часов по телефону с 4 разными техниками GoDaddy. Каждый раз они определяли, что это что-то в программировании сайта. (Нас двое имеют доступ к FTP сайта. Мы оба ехали на работу, когда он перестал работать.)
Чтобы проверить это, я опубликовал сайт на нашем внутреннем сервере разработки, и он сработал. Затем я повторно опубликовал на виртуальном хостинге GoDaddy, но он все еще не работал.
Основная проблема в том, что сайт загружается и загружается и никогда не открывается.
Я подумал, может быть, я попробую другой хост, поэтому я развернул сервер Windows VM на Rackspace (Win 2K8 R2), установил IIS 7.5 и подготовил базовый сайт. Если я загружу в папку базовый файл index.html, я смогу увидеть сообщение «Hello world» как локально на веб-сервере, так и публично из своего офиса.
Однако как только я загружаю содержимое ASP.NET в папку, у меня снова возникает проблема с непрерывной загрузкой.
Как я уже сказал, на внутреннем сервере разработки (который также является Win 2K8 R2 с IIS 7.5) веб-сайт работает нормально. На данный момент я перенаправил основной домен на свой офисный IP-адрес, создал несколько правил брандмауэра для пересылки пакетов и успешно размещаю веб-сайт с сервера разработки. Но это не долгосрочное решение.
За последние несколько дней я потратил часы на поиск решений в Интернете и попробовал ряд вещей. Но мне не приходилось устранять подобную проблему с веб-хостингом, когда я не получаю никаких очевидных сообщений об ошибках. Я ищу способы устранить эту проблему в IIS, или найти сообщения об ошибках, журналы или что-то, что могло бы указать мне на проблему. Но мне мешает отсутствие знаний в управлении веб-сервером.
Спасибо!
Я наконец решил это на прошлой неделе.
Существует файл конфигурации, который является частью нашего веб-приложения, которому требуются разрешения на чтение и запись для IIS. В нашей учетной записи общего хостинга в GoDaddy разрешения были удалены по неизвестной причине. И когда мы загрузили приложение на тестовый сервер, я просто забыл, что нам нужно сбросить эти разрешения на новом сервере. На нашем внутреннем сервере разработки разрешения были настроены еще в начале проекта.
На тестовом сервере, который мы развернули в Rackspace, я добавил «Полный доступ» для «IIS_IUSRS» в родительский каталог, в котором находится файл. В учетной записи общего хостинга GoDaddy я зашел в диспетчер файлов и установил разрешения на чтение / запись в Интернете в каталоге.
Проблема кодирования заключалась в том, что, поскольку к файлу обращается библиотека, используемая веб-приложением, ошибка не обрабатывалась должным образом. Если подряд происходит слишком много ошибок, IIS может перейти в это состояние непрерывной загрузки при определенных условиях.
Я урезал сайт до минимума и начал добавлять зависимости по очереди. Затем, когда произошла ошибка, она оказалась не так глубоко в системе, поэтому я начал получать полезные журналы событий. Как будто проблема была настолько глубокой, что создавало совершенно нестабильное приложение, и даже об ошибках не сообщалось должным образом.
Я бы пошел и попытался экспортировать сайт с одного веб-сервера на другой, а затем проверить версию .net, пулы приложений (включая фреймворк). Если это не сработает, обратитесь к хакеру процессов или другому инструменту, чтобы получить представление о том, что может потребовать столько ресурсов - IE некоторые методы могут занять миллионы циклов процессора. Если все это не работает, обратите внимание на профессиональную оптимизацию или тестирование IIS 7 если это производительность с IE Tester, JMeter и посмотреть, какой контент занимает так много времени, попробуйте оптимизировать его.