Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Разворачиваю сайт MVC 3 на IIS -- инструкция имеется?

62K
17 апреля 2012 года
Cyberatino
24 / / 06.03.2012
Продолжаю серию своих вопросов по MVC 3.

Итак, я слабал сайт и хочу его развернуть на IIS 7.5. Я уже зарегил 4-й фреймворк через aspnet_regiis.exe и теперь он появляется у меня в Application Pool.
Однако, после того, как я делаю Публикацию сайта через вижуал студию 2010 sp1 у меня все время возникает ошибки в браузере. Не буду их перечислять, потому что стоит мне что-то поменять в настройках при публикации, то меняется и код и форма ошибки. Попытаюсь сформулировать, чего я хотел бы получить:

1. Веб-сервер, поддерживающий MVC 3, на локальном компьютере - это сделано.
2. Создать пакет для развёртывания из вижуал студио. Мне трудно специфицировать настройки этого пакета, но суть в том, что проект использует базу на внешнем MS SQL 2008. В этой же базе хранится и таблица для провайдера аутентификации (если это имеет значение). Также проект имеет референсы на NHibernate и FluentNHibernate.
3. Понять, как именно нужно развёрнуть полученный пакет на веб-сервере. Это самая важная часть, наверно. Меня интересуют все мелочи и тонкости, чтобы не упускались существенные детали, например как при добавлении поддержки mvc в iis, что тот же самый aspnet_regiis.exe находится в %windir%/Microsoft.Net/Framework/v4.0.30319.

В результате претворения в жизнь инструкций должно стать возможным получить доступ на сайт через адресную строку браузера в виде
mysite.mydomain.domain:myport
62K
19 апреля 2012 года
Cyberatino
24 / / 06.03.2012
Достаточно было бесплатной ссылки на хороший workflow.

А если серьезно, то когда я искал ответ на этот вопрос в интернетах попадались ссылки на статьи в разных блогах, суть которых сводилась к следующему: Нажмите Publish и будет вам счастье. Поскольку это было мое первое знакомство с иис я был несколько обескуражен тем, как всё просто получается в статьях в интернетах и как дело обстоит на самом деле в моем конкретном случае. То есть я вообще ничего не знал по иису до того, и тон в вопросе, вероятно, преисполнен скорее разочарования, чем претензией. Но уж как получилось, так и написал.

Насчет проблем с которыми я столкнулся при разворачивании своего проекта на MVC 3 в среду IIS 7.5

1. Как правильно собрать свой пакет в VS 2010:
  • Капитан Очевидность: в пакет включаются только те файлы, которые добавлены в проект. То есть, если вы, например, подключили стороннюю библиотеку стилей и добавили просто ссылку на неё в одном из представлений, то этого будет не достаточно. Поэтому важно включать все используемые файлы явным образом, только тогда они окажутся в пакете.
  • Тонкости (мельчайшие детали, которые легко упустить):
    По умолчанию проект разворачивается в ту же директорию, где находится и сам проект, но с именем <Имя_проекта>_deploy.
    Чтобы проект сразу отправлялся на публикацию нужно заполнить в Package/Publish Web поле Location where project will be created. Можно указать такой путь: C:\inetpub\wwwroot\<имя_проекта>. Важно, что именно эта папка по умолчанию является видимой для веб-сервера. Поэтому туда можно пихать все проекты сразу, чтобы держать всё в едином месте и не разбрасывать доступные для веба папки по харду (продолжение в пункте 2).
  • ВАЖНО: если вы по какому-то случаю нажали правой кнопкой на проект и выбрали Add Deployable Dependecies и включили туда бинарники для MVC - имейте ввиду, что вы ДОЛЖНЫ прописать в основном файле web.config следующее:
     
    Код:
    <configuration>
      <appSettings>
        <add key="enableSimpleMembership" value="false"/>
      </appSettings>
    </configuration>
    Это имеет большое значение, если вы развёртываете проект на сервер иис, который не поддерживает MVC 3. Если на сервере уже есть поддержка MVC, то отпадает необходимость включения бинарников. Это известная проблема MVC. Это одна из ошибок, которая возникала у меня, когда я впервые пытался достучаться на сайт из iis.
2. Ок, я развернул пакет (пакет == проект).
  • Теперь надо установить iis 7.5. Заходим в Programs and Features ищем ссылку Turn Windows features on or of. Если у вас подходящая версия винды 7 , то в списке доступных фич будет иис 7.5 или 7. Если нет, то надо найти решение вам самим. Ставим везде галки и устанавливаем. У меня корпоративная версия.
  • Обещанное продолжение тонкостей: запускаем iis, находим в правом меню папку Sites, правой кнопкой по этой папке и выбираем Add Web Site. После чего в Site Name можно указать название вашего проекта как в VS 2010. Не примяните удостовериться, что используемый Application Pool (он справа от Site Name) поддерживает MVC (нажать на кнопку Select и найти строчку .Net Framework Version 4.0; если нет, то зарегить тулзой aspnet_regiis.exe для 4-й версии фреймворка). Далее в физическом пути указать папку проекта в inetpub (пример пути уже приводился). В группе Binding и это также критичная точка, правильно указать Host Name. Какие псевдонимы вы здесь перечислите, такие запросы и сможет разрешать ваш веб-сервер к вашему сайту. То есть если вы здесь просто укажете localhost и попытаетесь стукнуться из сети по ip-адресу, то (поведение по умолчанию) ничего не получится: сервер ответит что-то вроде "сайт не доступен" или подобное. Поэтому обязательно перечислить все возможные для этого сайта псевдонимы. Чтобы веб-сервер отвечал на все запросы с любым именем - поставьте в это поле звёздочку *
  • Наверно последнее: нужно убедиться, что анонимный доступ к сайту разрешен. Нажать на название своего сайта в правом меню iis'а, в группе "IIS" выбрать Authentication. Убедиться, что anonymous authentication имеет статус enabled. Если нет, то включить. Нажать правой кнопкой, выбрать Edit. По умолчанию учетная запись для анонимного юзера называется IUSR.
1
19 апреля 2012 года
kot_
7.3K / / 20.01.2000
Цитата:
...Не буду их перечислять, потому что стоит мне что-то поменять...


Цитата:
...Это самая важная часть...чтобы не упускались существенные детали...


Не хочу показаться грубым, но с подобными запросами и описаниями проблем, единственно что можно посоветовать - потратить денег и:
1) купить литературы;
2) пройти курсы.
потому что не хотел бы повторяться, но
1). телепатия практически у всех не прокачана;
2) не понятно ради чего, ктото должен разбираться с проблемами нуба и искать решения, которые лень искать самому нубу.
Особенно если учесть с каким дебилизмом апломбом это все излагается. Только за стиль изложения можно сразу ставить +20 у.е. час обучения

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог