Создание статического веб-сайта в IIS

Кит Ньюман и Роберт Макмюррей

В этом документе описан процесс установки веб-сервера IIS и его настройки для обслуживания статического содержимого. Статическое содержимое — это веб-страница (HTML), которая доставляется пользователю точно так же, как хранится. Напротив, динамическое содержимое создается веб-приложением, например приложением ASP.NET, классическим приложением ASP или PHP. Статическое содержимое отображает одинаковую информацию для всех пользователей; динамическое содержимое может отображать сведения, относящиеся к пользователю, например имя пользователя.

Веб-сервер статического содержимого — это самая базовая конфигурация IIS для поддержки HTML-веб-сайтов. Для размещения внутренних или внешних (общедоступных) веб-сайтов можно использовать веб-сервер статического содержимого. При установке IIS 8 установка по умолчанию предоставляет все модули IIS, необходимые для поддержки веб-сервера статического содержимого. Установка по умолчанию включает возможность обслуживать статические HTML-файлы, документы и изображения. IIS 8 поддерживает документы по умолчанию, просмотр каталогов, ведение журнала и анонимную проверку подлинности для статического сервера содержимого.

Необходимые условия

Чтобы получить большую часть из этого руководства, необходимо иметь доступ к компьютеру, на котором выполняется одна из следующих операционных систем:

  • Windows Server® 2012
  • Windows® 8

Шаг 1. Установка веб-сервера IIS

Эту процедуру можно выполнить с помощью пользовательского интерфейса Windows или из командной строки.

Установка IIS в Windows Server 2012 с помощью пользовательского интерфейса

  1. На начальной странице щелкните плитку диспетчера серверов и нажмите кнопку "ОК".

  2. В диспетчере серверов выберите панель мониторинга и нажмите кнопку "Добавить роли и компоненты".

  3. В мастере добавления ролей и компонентов на странице "Перед началом работы " нажмите кнопку "Далее".

  4. На странице "Выбор типа установки" выберите "Установка на основе ролей" или "Установка на основе компонентов " и нажмите кнопку "Далее"

  5. На странице "Выбор целевого сервера " выберите сервер из пула серверов, выберите имя компьютера и нажмите кнопку "Далее".

  6. На странице "Выбор ролей сервера " выберите веб-сервер (IIS) и нажмите кнопку "Далее".

  7. На странице "Выбор компонентов " обратите внимание на предварительно выбранные функции и нажмите кнопку "Далее".

  8. На странице роли веб-сервера (IIS) нажмите кнопку "Далее".

  9. На странице "Выбор служб ролей " запишите предварительно выбранные службы ролей и нажмите кнопку "Далее".

    Замечание

    Установите службы ролей IIS 8 по умолчанию для веб-сервера статического содержимого.

  10. На странице "Подтверждение выбора установки" подтвердите выбранные параметры и нажмите кнопку "Установить".

  11. На странице "Ход установки" убедитесь, что установка роли веб-сервера (IIS) и необходимых служб ролей завершена успешно, а затем нажмите кнопку "Закрыть".

  12. Чтобы убедиться, что IIS установлены успешно, введите следующее в веб-браузере:

    http://localhost

    Отображается страница приветствия IIS по умолчанию.

Установка IIS в Windows 8 с помощью пользовательского интерфейса

  1. На начальной странице введите панель управления и щелкните значок панели управления в результатах поиска.

  2. На панели управления щелкните " Программы" и нажмите кнопку "Включить или отключить функции Windows".

  3. В диалоговом окне "Компоненты Windows" нажмите кнопку "Службы Internet Information Services" и нажмите кнопку "ОК".

    Это действие устанавливает компоненты IIS 8 по умолчанию. Установите только компоненты по умолчанию для веб-сервера статического содержимого.

  4. Чтобы убедиться, что IIS успешно установлена, введите следующее в веб-браузер:

    http://localhost

    Отображается страница приветствия IIS по умолчанию.

Установка IIS с помощью командной строки

Введите следующую команду в командной строке с повышенными привилегиями или в скрипт:

Start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-Security;IIS-RequestFiltering;IIS-HttpCompressionStatic;IIS-WebServerManagementTools;IIS-ManagementConsole;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI

Шаг 2. Добавление веб-сайта

На этом шаге показано, как добавить веб-сайт в IIS с помощью интерфейса диспетчера IIS или выполнив команды Appcmd.exe в окне командной строки.

Добавление веб-сайта с помощью пользовательского интерфейса

  1. Откройте диспетчер IIS.

    • Для Windows Server 2012 на начальной странице щелкните плитку диспетчера серверов и нажмите кнопку "ОК". В диспетчере серверов щелкните меню "Сервис" и выберите диспетчер служб IIS.
    • Для Windows 8 на Начальном экране введите Панель управления, а затем щелкните значок Панель управления в результатах поиска. На экране панели управления щелкните "Система" и "Безопасность", щелкните "Администрирование" и выберите диспетчер служб IIS.
  2. В области "Подключения" щелкните правой кнопкой мыши узел "Сайты " в дереве и нажмите кнопку "Добавить веб-сайт".

  3. В диалоговом окне "Добавление веб-сайта " введите понятное имя веб-сайта в поле "Имя сайта ".

  4. Если вы хотите выбрать другой пул приложений, отличный от пула приложений, указанный в поле пула приложений , нажмите кнопку "Выбрать". В диалоговом окне "Выбор пула приложений " выберите пул приложений из списка пула приложений и нажмите кнопку "ОК".

  5. В поле "Физический путь" введите физический путь к папке веб-сайта или нажмите кнопку обзора (...), чтобы перейти по файловой системе и найти папку.

  6. Если физический путь, введенный на предыдущем шаге, находится в удаленном ресурсе, нажмите кнопку "Подключиться" , чтобы указать учетные данные, имеющие разрешение на доступ к пути. Если вы не используете определенные учетные данные, выберите параметр "Пользователь приложения" (сквозная проверка подлинности) в диалоговом окне "Подключение от имени ".

  7. Выберите протокол для веб-сайта из списка типов .

  8. . Если необходимо указать статический IP-адрес для веб-сайта (по умолчанию это значение имеет значение All Unassigned), введите IP-адрес в поле IP-адреса .

  9. Введите номер порта в текстовом поле "Порт ".

  10. При необходимости введите имя заголовка узла для веб-сайта в поле заголовка узла .

  11. Если вам не нужно вносить какие-либо изменения на сайт, и вы хотите, чтобы веб-сайт был немедленно доступен, установите флажок "Начать веб-сайт немедленно ".

  12. Нажмите кнопку ОК.

Добавление веб-сайта с помощью командной строки

Используйте следующий синтаксис в командной строке с повышенными привилегиями или в скрипте:

appcmd add site /name: Строка/id:uint/physicalPath:Строка/bindings:Строка

Замечание

Для работы этого синтаксиса необходимо либо находиться в следующем каталоге, либо иметь каталог в пути: %windir%\system32\inetsrv

Переменная — это имя, и переменная nameid является положительным целым числом, которое вы хотите назначить сайту. Переменные name и id являются единственными переменными, необходимыми для добавления сайта с помощью appcmd. Однако при добавлении сайта без указания значений и bindingsphysicalPath атрибутов сайт не сможет запуститься.

Переменная physicalPath является абсолютным путем содержимого сайта в файловой системе.

Переменная bindings содержит сведения, используемые для доступа к сайту. Он должен быть в форме protocol/IP_Address:port:hostheader. Например, для веб-сайта привязка http/*:85: настраивает сайт для прослушивания HTTP-запросов через порт 85 для всех IP-адресов и доменных имен (также известных как заголовки узлов или имена узлов). С другой стороны, привязка http/*:85:marketing.contoso.com настраивает веб-сайт для прослушивания HTTP-запросов через порт 85 для всех IP-адресов и доменного имени marketing.contoso.com.

Чтобы добавить веб-сайт с именем contoso с идентификатором 2 и содержимым в c:\contoso, прослушивающий HTTP-запросы на порту 85 для всех IP-адресов и доменного имени marketing.contoso.com, введите следующее в командной строке:

appcmd add site /name:contoso /id:2 /physicalPath:c:\contoso /bindings:http/*:85:marketing.contoso.com

Шаг 3. Настройка анонимной проверки подлинности

Анонимная проверка подлинности предоставляет пользователям доступ к общедоступным областям веб-сайта без запроса имени пользователя или пароля. Вы можете настроить анонимную проверку подлинности с помощью учетной записи анонимного пользователя по умолчанию (IUSR) или настроить локальную учетную запись пользователя для анонимных пользователей.

Настройка анонимной проверки подлинности с помощью пользовательского интерфейса

  1. В виде функций диспетчера IIS дважды щелкните Проверка подлинности.

  2. На странице проверки подлинности выберите "Анонимная проверка подлинности".

  3. В области действий нажмите кнопку "Изменить ", чтобы задать субъект безопасности (учетные данные пользователя), под которым анонимные пользователи будут подключаться к сайту.

  4. В диалоговом окне "Изменить анонимные учетные данные проверки подлинности" выберите один из следующих вариантов:

    • Если вы хотите настроить определенную учетную запись пользователя, которую IIS использует для доступа к сайту или приложению, выберите конкретный пользователь. Затем нажмите кнопку "Задать" , чтобы открыть диалоговое окно "Задать учетные данные" и введите имя пользователя и пароль для удостоверения. Затем нажмите кнопку ОК.

    • Если вы хотите, чтобы процессы IIS выполнялись с помощью учетной записи, указанной на странице свойств пула приложений, выберите удостоверение пула приложений. По умолчанию эта идентификация представляется учетной записью IUSR.

      Это важно

      Если вы используете учетную запись IUSR, вы предоставляете анонимным пользователям доступ ко всем внутренним сетевым ресурсам, связанным с этой учетной записью.

  5. Нажмите кнопку "ОК ", чтобы закрыть диалоговое окно "Изменить анонимные учетные данные проверки подлинности ".

Настройка анонимной проверки подлинности с помощью командной строки

Используйте следующий синтаксис, чтобы изменить учетную запись по умолчанию для анонимного доступа:

appcmd set config /section:anonymousAuthentication /userName: Строка/password:Строка

Переменная — это учетная запись, которую IIS использует для анонимной проверки подлинности, а переменная usernamepassword — это пароль, зашифрованный в файле конфигурации по умолчанию. Например, чтобы использовать учетную запись с именем Moe и пароль pssword1 для анонимного доступа, введите следующее в командной строке:

appcmd set config /section:anonymousAuthentication /userName:Moe /password:pssword1

Шаг 4. Настройка документов по умолчанию

Когда запрос клиента на ваш веб-сайт не содержит имени документа, IIS ищет файл, имя которого определено как документ по умолчанию. Как правило, имя документа по умолчанию — Default.htm. Список имен документов по умолчанию можно определить в порядке приоритета.

Настройка документа по умолчанию с помощью пользовательского интерфейса

  1. В представлении функций диспетчера IIS дважды щелкните документ по умолчанию.
  2. В области действий нажмите кнопку "Добавить".
  3. В поле "Имя" введите имя файла, которое нужно добавить в список документов по умолчанию, а затем нажмите кнопку "ОК". Это имя файла добавляется в начало списка документов по умолчанию.
  4. При необходимости выберите документ по умолчанию в списке и в области "Действия ", нажмите кнопку "Переместить вверх " или "Вниз ", чтобы изменить приоритет файла.
  5. При необходимости выберите документ по умолчанию в списке и в области действий нажмите кнопку "Удалить ", чтобы удалить все имена файлов, которые не нужно использовать в качестве документов по умолчанию.

Настройка документа по умолчанию с помощью командной строки

Чтобы добавить имя файла в список документов по умолчанию, используйте следующий синтаксис:

appcmd set config /section:defaultDocument /+files.[value=' строка']

Переменная string — это имя файла, которое нужно добавить в список. Например, чтобы добавить файл с именемhome.html в список документов по умолчанию, введите следующее в командной строке:

appcmd set config /section:defaultDocument /+files.[value='home.html']

Чтобы удалить файл с именем home.html из списка документов по умолчанию, введите следующее в командной строке и нажмите клавишу ВВОД:

appcmd set config /section:defaultDocument /-files.[value='home.html']

Шаг 5. Настройка сжатия статического содержимого

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

Настройка сжатия статического содержимого с помощью пользовательского интерфейса

  1. В представлении функций диспетчера IIS дважды щелкните сжатие.

  2. Выберите "Включить сжатие статического содержимого ", чтобы настроить iis для сжатия статического содержимого.

  3. В окне статического сжатия настройте следующие параметры:

    1. При необходимости выберите Только сжимать файлы, превышающие (в байтах) и введите минимальный размер файла, который IIS должен сжимать. Размер по умолчанию составляет 256 байт.
    2. В текстовом поле каталога кэша введите путь к локальному каталогу или нажмите кнопку «Обзор» (...), чтобы найти каталог. После сжатия статического файла он кэшируется в этом временном каталоге до истечения срока его действия или до тех пор, пока не изменится содержимое. Временный каталог должен находиться на локальном диске в секции с форматированием NTFS. Каталог не может быть сжатым и не должен быть предоставлен общий доступ.
    3. При необходимости выберите ограничение дискового пространства пула приложений (в МБ) и введите максимальное количество места на пул приложений в мегабайтах, которое вы хотите, чтобы IIS использовала при сжатии статического содержимого. Например, если на сервере есть 20 пулов приложений, а ограничение дискового пространства равно 100, максимальный объем дискового пространства составит 2 ГБ. Если щелкнуть параметр "Ограничение дискового пространства для пула приложений" (в МБ) и ввести число в текстовом поле под ним, службы IIS автоматически очищает временный каталог в соответствии с наименее недавно использованным правилом при достижении заданного ограничения. Значение по умолчанию — 100 МБ на пул приложений.
  4. Нажмите кнопку "Применить" на панели "Действия ".

Настройка сжатия статического содержимого с помощью командной строки

Чтобы включить сжатие статического содержимого HTTP, в командной строке введите следующую команду и нажмите клавишу ВВОД:

appcmd set config /section:urlCompression /doStaticCompression:True

Чтобы настроить параметры сжатия статического содержимого, используйте следующий синтаксис:

appcmd set config /section:urlCompression /minFileSizeforComp: int/directory:string/maxDiskSpace:int

Переменная minFileSizeforComp задает минимальное количество байтов, которое должен содержать файл для сжатия. Значение по умолчанию — 256. Переменная directory указывает каталог, в котором сжатые версии статических файлов временно хранятся и кэшируются. По умолчанию используется следующая папка:

%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files

Переменная maxDiskSpace задает максимальный объем пространства для пула приложений в мегабайтах, который требуется использовать IIS при сжатие статического содержимого. Значение по умолчанию — 100 МБ на пул приложений.

Дальнейшие шаги

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

См. также