Расположение файлов настроек IIS7

99

Где IIS7 сохраняет свою конфигурацию для каждого виртуального каталога / приложения и его физический путь?

Это файл XML? И если да, повлияет ли редактирование этого XML-файла на конфигурацию IIS (после перезапуска)?

Ройи Намир
источник

Ответы:

155

Похоже, вы ищете applicationHost.config, который находится в C:\Windows\System32\inetsrv\config.

Да, это файл XML, и да, редактирование файла вручную повлияет на конфигурацию IIS после перезапуска. Вы можете думать о IIS Manager как о графическом интерфейсе пользователя для редактирования applicationHost.configи web.config.

RickNZ
источник
Файл заблокирован? (во время работы?) Могу ли я отредактировать его без разблокировки?
Рой Намир
2
Нет, не заперто. Однако вы можете сделать копию, прежде чем вносить какие-либо изменения.
RickNZ
1
Также файл может не отображать фактическую информацию для доступа без прав администратора, как описано в этом вопросе и комментарии к ответу
Павел К.
9
При перезагрузке требуется полная перезагрузка Windows, а не только IISRESET
Markive
2
Windows Server 2012 R2, похоже, не требует перезагрузки, по крайней мере, при добавлении новых пулов приложений и веб-сайтов.
Джеймс Скемп 08
55

Также проверьте этот ответ отсюда: Невозможно вручную изменить applicationhost.config

Ответ прост, хотя и не так очевиден: win2008 - 64-битный, notepad ++ - 32-битный. Когда вы переходите в Windows \ System32 \ inetsrv \ config с помощью проводника, вы используете 64-битную программу для поиска файла. Когда вы открываете файл с помощью notepad ++, вы пытаетесь открыть его с помощью 32-битной программы. Путаница возникает из-за того, что вместо того, чтобы сообщать вам, что вы делаете, Windows позволяет вам открыть файл, но когда вы сохраняете его, путь к файлу прозрачно отображается в Windows \ SysWOW64 \ inetsrv \ Config.

На практике происходит следующее: вы открываете applicationhost.config с помощью notepad ++, вносите изменения, сохраняете файл; но вместо того, чтобы перезаписывать оригинал, вы сохраняете его 32-битную копию в Windows \ SysWOW64 \ inetsrv \ Config, поэтому вы не вносите изменений в версию, которая фактически используется IIS. Если вы перейдете в Windows \ SysWOW64 \ inetsrv \ Config, вы найдете только что сохраненный файл.

Как это обойти? Просто - используйте 64-битный текстовый редактор, например, обычный блокнот с окнами.

Маркив
источник
12
Другой подход - использовать административный c $, чтобы 32-битные программы могли читать \ писать, как если бы они были 64-битными, поскольку файловая служба Windows 64-битная: \\yourservername\c$\Windows\System32\inetsrv\config
Тим Льюис
Вы также можете использовать информацию из @TimLewis и использовать имя вашего компьютера, если это ваш локальный компьютер, который вы хотите редактировать с помощью 32-битного редактора.
хакер
Просто хотел отметить, что Notepad ++ уже давно полностью 64-битный.
Alex