Создание статического веб-сайта в 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 с помощью пользовательского интерфейса
На начальной странице щелкните плитку Диспетчер серверов и нажмите кнопку ОК.
В окне диспетчера серверовщелкните элемент Панель мониторинга, а затем выберите Добавить роли и компоненты.
В окне мастера добавления ролей и компонентовна странице Перед началом работы нажмите кнопку Далее.
На странице выбора типа установки выберите Установка ролей или компонентов и нажмите кнопку Далее.
На странице "Выбор целевого сервера" выберите сервер из пула серверов, выберите имя компьютера и нажмите кнопку "Далее".
На странице выбора ролей сервера щелкните Веб-сервер (IIS)и нажмите кнопку Далее.
На странице "Выбор компонентов" обратите внимание на предварительно выбранные функции и нажмите кнопку "Далее".
На странице Роль веб-сервера (IIS) щелкните Далее.
На странице "Выбор служб ролей" запишите предварительно выбранные службы ролей и нажмите кнопку "Далее".
Примечание.
Установите службы ролей IIS 8 по умолчанию для веб-сервера статического содержимого.
На странице подтверждения выбранных элементов для установки подтвердите выбранные элементы и нажмите кнопку Установить.
На странице Ход установки подтвердите успешное завершение установки роли веб-сервера (IIS) и необходимых служб ролей, а затем нажмите кнопку Закрыть.
Чтобы убедиться, что СЛУЖБЫ IIS успешно установлены, введите следующее в веб-браузер:
http://localhost
Вы увидите страницу приветствия IIS по умолчанию.
Установка IIS в Windows 8 с помощью пользовательского интерфейса
На начальной странице введите Панель управления, а затем щелкните значок панели управления в результатах поиска.
В панели управлениящелкните раздел Программы, а затем выберите пункт Включение или отключение компонентов Windows.
В диалоговом окне "Компоненты Windows" нажмите кнопку службы IIS и нажмите кнопку "ОК".
Это действие устанавливает компоненты IIS 8 по умолчанию. Установите только компоненты по умолчанию для веб-сервера статического содержимого.
Чтобы убедиться, что СЛУЖБЫ 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 в окне командной строки.
Добавление веб-сайта с помощью пользовательского интерфейса
Откройте диспетчер служб IIS.
- Для Windows Server 2012 на начальной странице щелкните плитку диспетчер сервера и нажмите кнопку "ОК". В диспетчер сервера выберите меню "Сервис" и щелкните диспетчер службы IIS (IIS).
- Для Windows 8 на начальной странице панель управления и щелкните значок панель управления в результатах поиска. На экране панели управления выберите раздел Система и безопасность, выберите Администрирование,а затем щелкните пункт Диспетчер служб IIS.
В области Подключения щелкните правой кнопкой мыши узел Сайты в дереве, а затем выберите Добавить веб-сайт.
В диалоговом окне "Добавление веб-сайта" введите понятное имя веб-сайта в поле "Имя сайта".
Если вы хотите выбрать другой пул приложений, отличный от указанного в поле Пул приложений , нажмите Выбрать. В диалоговом окне Выбор пула приложений выберите пул приложений в списке Пул приложений и нажмите кнопку ОК.
В поле "Физический путь" введите физический путь к папке веб-сайта или нажмите кнопку обзора (...), чтобы перейти к файловой системе, чтобы найти папку.
Если физический путь, введенный на предыдущем шаге, находится в удаленном ресурсе, нажмите кнопку "Подключиться" , чтобы указать учетные данные, имеющие разрешение на доступ к пути. Если вы не используете определенные учетные данные, выберите вариант Пользователь приложения (сквозная проверка подлинности) в диалоговом окне Подключиться как .
Выберите протокол для веб-сайта из списка типов .
. Если необходимо указать статический IP-адрес для веб-сайта (по умолчанию это значение имеет значение All Unassigned), введите IP-адрес в поле IP-адреса .
Введите номер порта в текстовом поле "Порт ".
При необходимости введите имя заголовка узла для веб-сайта в поле заголовка узла.
Если вам не нужно вносить какие-либо изменения на сайт, и вы хотите, чтобы веб-сайт был немедленно доступен, установите флажок "Начать веб-сайт немедленно ".
Щелкните OK.
Добавление веб-сайта с помощью командной строки
Используйте следующий синтаксис в командной строке с повышенными привилегиями или в скрипте:
appcmd add site /name:
строка uint string/bindings:
/physicalPath:
/id:
Примечание.
Для работы этого синтаксиса необходимо либо находиться в следующем каталоге, либо иметь каталог в пути: %windir%\system32\inetsrv
Переменная — это имя, и переменная name
id
является положительным целым числом, которое вы хотите назначить сайту. Переменные и id
являются единственными переменнымиname
, необходимыми для добавления сайта с помощью appcmd. Однако при добавлении сайта без указания значений и bindings
physicalPath
атрибутов сайт не сможет запуститься.
Переменная 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) или настроить локальную учетную запись пользователя для анонимных пользователей.
Настройка анонимной проверки подлинности с помощью пользовательского интерфейса
В представлении функций диспетчера IIS дважды щелкните проверку подлинности.
На странице проверки подлинности выберите "Анонимная проверка подлинности".
В области действий нажмите кнопку "Изменить", чтобы задать субъект безопасности (учетные данные пользователя), под которым анонимные пользователи будут подключаться к сайту.
В диалоговом окне "Изменить анонимные учетные данные проверки подлинности" выберите один из следующих вариантов:
Если вы хотите настроить определенную учетную запись пользователя, которую IIS использует для доступа к сайту или приложению, выберите конкретный пользователь. Затем нажмите кнопку "Задать", чтобы открыть диалоговое окно "Задать учетные данные" и введите имя пользователя и пароль для удостоверения. Затем нажмите кнопку ОК.
Если вы хотите, чтобы процессы IIS выполнялись с помощью учетной записи, указанной на странице свойств пула приложений, выберите удостоверение пула приложений. По умолчанию это удостоверение является учетной записью IUSR.
Внимание
Если вы используете учетную запись IUSR, вы предоставляете анонимным пользователям доступ ко всем внутренним сетевым ресурсам, связанным с этой учетной записью.
Нажмите кнопку "ОК ", чтобы закрыть диалоговое окно "Изменить анонимные учетные данные проверки подлинности ".
Настройка анонимной проверки подлинности с помощью командной строки
Используйте следующий синтаксис, чтобы изменить учетную запись по умолчанию для анонимного доступа:
appcmd set config /section:anonymousAuthentication /userName:
строка строки /password:
Переменная — это учетная запись, которую IIS использует для анонимной проверки подлинности, а переменная username
password
— это пароль, зашифрованный в файле конфигурации по умолчанию. Например, чтобы использовать учетную запись с именем Moe и пароль pssword1 для анонимного доступа, введите следующее в командной строке:
appcmd set config /section:anonymousAuthentication /userName:Moe /password:pssword1
Шаг 4. Настройка документов по умолчанию
Если запрос клиента на веб-сайт не содержит имя документа, СЛУЖБЫ IIS ищет файл, имя которого определяется как документ по умолчанию. Как правило, имя документа по умолчанию — Default.htm. Список имен документов по умолчанию можно определить в порядке приоритета.
Настройка документа по умолчанию с помощью пользовательского интерфейса
- В представлении функций диспетчера IIS дважды щелкните документ по умолчанию.
- В области действий нажмите кнопку "Добавить".
- В поле "Имя" введите имя файла, которое нужно добавить в список документов по умолчанию, а затем нажмите кнопку "ОК". Это имя файла добавляется в начало списка документов по умолчанию.
- При необходимости выберите документ по умолчанию в списке и в области "Действия ", нажмите кнопку "Переместить вверх " или "Вниз ", чтобы изменить приоритет файла.
- При необходимости выберите документ по умолчанию в списке и в области действий нажмите кнопку "Удалить ", чтобы удалить все имена файлов, которые не нужно использовать в качестве документов по умолчанию.
Настройка документа по умолчанию с помощью командной строки
Чтобы добавить имя файла в список документов по умолчанию, используйте следующий синтаксис:
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. Настройка сжатия статического содержимого
При необходимости можно настроить веб-сервер для сжатия статического содержимого, чтобы использовать пропускную способность более эффективно и повысить производительность веб-сайта.
Настройка сжатия статического содержимого с помощью пользовательского интерфейса
В представлении функций диспетчера IIS дважды щелкните сжатие.
Выберите "Включить сжатие статического содержимого", чтобы настроить iis для сжатия статического содержимого.
В окне статического сжатия настройте следующие параметры:
- При необходимости выберите только сжатые файлы, превышающие (в байтах), и введите минимальный размер файла, который требуется сжать IIS. Размер по умолчанию составляет 256 байт.
- В текстовом поле каталога кэша введите путь к локальному каталогу или нажмите кнопку обзора (...), чтобы найти каталог. После сжатия статического файла он кэшируется в этом временном каталоге до истечения срока его действия или до тех пор, пока не изменится содержимое. Временный каталог должен находиться на локальном диске в секции с форматированием NTFS. Каталог не может быть сжатым и не должен быть предоставлен общий доступ.
- При необходимости выберите ограничение дискового пространства пула приложений (в МБ) и введите максимальное количество места в пуле приложений в мегабайтах, чтобы службы IIS использовались при сжатие статического содержимого. Например, если на сервере есть 20 пулов приложений, а ограничение дискового пространства равно 100, максимальный объем дискового пространства составит 2 ГБ. Если щелкнуть параметр "Ограничение дискового пространства для пула приложений" (в МБ) и ввести число в текстовом поле под ним, службы IIS автоматически очищает временный каталог в соответствии с наименее недавно использованным правилом при достижении заданного ограничения. Значение по умолчанию — 100 МБ на пул приложений.
Нажмите кнопку "Применить" на панели "Действия".
Настройка сжатия статического содержимого с помощью командной строки
Чтобы включить сжатие статического содержимого HTTP, в командной строке введите следующую команду и нажмите клавишу ВВОД:
appcmd set config /section:urlCompression /doStaticCompression:True
Чтобы настроить параметры сжатия статического содержимого, используйте следующий синтаксис:
appcmd set config /section:urlCompression /minFileSizeforComp:
int string/maxDiskSpace:
int /directory:
Переменная minFileSizeforComp
задает минимальное количество байтов, которое должен содержать файл для сжатия. Значение по умолчанию — 256. Переменная directory
указывает каталог, в котором сжатые версии статических файлов временно хранятся и кэшируются. По умолчанию используется следующая папка:
%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files
Переменная maxDiskSpace
задает максимальный объем пространства для пула приложений в мегабайтах, который требуется использовать IIS при сжатие статического содержимого. Значение по умолчанию — 100 МБ на пул приложений.
Next Steps
Тщательно протестируйте свой веб-сайт, чтобы убедиться, что он работает должным образом. Затем рассмотрите возможность настройки следующих функций:
- Чтобы облегчить устранение неполадок или оптимизацию производительности веб-сервера, настройте ведение журнала IIS. Инструкции см. в разделе Configure Logging in IIS.
- Для повышения безопасности вашего веб-сервера настройте фильтрацию запросов. Инструкции см. в разделе Configure Request Filtering in IIS.