Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эти действия вместе с приведенным ниже скриптом Install.cmd помогут автоматизировать установку SymProxy в установку IIS по умолчанию. Скорее всего, вам потребуется адаптировать эти шаги к конкретным потребностям вашей среды.
Создайте папку D:\SymStore\Symbols.
Предоставление права чтения всем
Предоставьте права чтения и записи учетной записи пользователя пула приложений SymProxy (Домен\Пользователь)
Совместное использование D:\SymStore\Symbols в качестве символов.
- Предоставьте разрешение на чтение всем (или будьте более конкретными)
(Необязательно) Создайте пустой файл с именем index2.txt в D:\SymStore\Symbols.
(Необязательно) Создайте пустой файл с именем %WINDIR%\system32\inetsrv\symsrv.yes. Это принимает лицензионное соглашение для Общедоступного хранилища символов Майкрософт.
Определите параметры для Install.cmd и запустите его.
Настройте путь к символам клиентов, используя имя сервера, которое вы создали.
SRV*\\MachineName\Symbols*https://MachineName/Symbols
Для скрипта Install.cmd требуется 3 параметра:
- Путь к виртуальному каталогу (например, D:\SymStore\Symbols)
- Имя пользователя (для пула приложений)
- Пароль (для пула приложений)
Чтобы очистить наследование типов MIME, требуется xml-файл для управления связанной командой AppCmd.exe. Поместите файл staticContentClear.xml ниже в ту же папку, что и скрипт Install.cmd для достижения этого результата.
Пример использования параметра Install.Cmd:
Install.cmd D:\SymStore\Symbols CONTOSO\SymProxyService Pa$$word
Install.cmd
@echo off
SET VirDirectory=%1
SET UserName=%2
SET Password=%3
::
:: SymProxy dll installation.
::
copy symproxy.dll %windir%\system32\inetsrv
copy symproxy.man %windir%\system32\inetsrv
copy symsrv.dll %windir%\system32\inetsrv
lodctr.exe /m:%windir%\system32\inetsrv\symproxy.man
wevtutil.exe install-manifest %windir%\System32\inetsrv\symproxy.man
regedit.exe /s symproxy.reg
::
:: Web server Configuration
::
IF not exist %VirDirectory% mkdir %VirDirectory%
rem Make the 'Default Web Site'
%windir%\system32\inetsrv\appcmd.exe add site -site.name:"Default Web Site" -bindings:"http/*:80:" -physicalPath:C:\inetpub\wwwroot
rem Enabled Directory Browsing on the 'Default Web Site'
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site" -section:system.webServer/directoryBrowse /enabled:"True"
rem Make the 'SymProxy App Pool'
%windir%\system32\inetsrv\appcmd.exe add apppool -apppool.name:SymProxyAppPool -managedRuntimeVersion:
%windir%\system32\inetsrv\appcmd.exe set apppool -apppool.name:SymProxyAppPool -processModel.identityType:SpecificUser -processModel.userName:%UserName% -processModel.password:%Password%
rem Make the 'Symbols' Virtual Directory and assign the 'SymProxy App Pool'
%windir%\system32\inetsrv\appcmd.exe add app -site.name:"Default Web Site" -path:/Symbols -physicalpath:%VirDirectory%
%windir%\system32\inetsrv\appcmd.exe set app -app.name:"Default Web Site/Symbols" -applicationPool:SymProxyAppPool
rem Disable 'web.config' for folders under virtual directories in the 'Default Web Site'
%windir%\system32\inetsrv\appcmd.exe set config -section:system.applicationHost/sites "/[name='Default Web Site'].virtualDirectoryDefaults.allowSubDirConfig:false
rem Add the 'SymProxy ISAPI Filter'
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/isapiFilters /+"[name='SymProxy',path='%windir%\system32\inetsrv\SymProxy.dll',enabled='True']
rem Clear the MIME Types on the 'Default Web Site'
%windir%\system32\inetsrv\appcmd.exe set config -in "Default Web Site" < staticContentClear.xml
rem Add * to the MIME Types of the 'Default Web Site'
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site" -section:staticContent /+"[fileExtension='.*',mimeType='application/octet-stream']"
staticContentClear.xml
<?xml version="1.0" encoding="UTF-8"?>
<appcmd>
<CONFIG CONFIG.SECTION="system.webServer/staticContent" path="MACHINE/WEBROOT/APPHOST">
<system.webServer-staticContent>
<clear />
</system.webServer-staticContent>
</CONFIG>
</appcmd>
Тестирование установки SymProxy
Теперь система должна быть готова к получению и использованию файлов. Чтобы протестировать его, начните с перезапуска службы IISAdmin, выполнив iisreset.exe. Это перезагрузит фильтр ISAPI с текущей конфигурацией IIS и SymProxy.
Настройте отладчик для использования этого пути символа:
srv*\\MachineName\Symbols*https://MachineName/Symbols
Если включена MissTimeout (по умолчанию установлено значение 300 секунд), выполнение команды .reload /f дважды должно привести к более быстрому выполнению во второй раз.
Чтобы просмотреть расположение PDB-файлов, на которые имеются ссылки, используйте команду lm (список модулей). Путь к PDB-файлам должен начинаться с \\MachineName\Symbols.
Если просмотр каталогов включен на веб-сайте, перейдите к https://MachineName/Symbols, чтобы просмотреть кэшированные файлы.
Откройте монитор производительности и просмотрите счетчики Symbol Proxy.
Откройте средство просмотра событий и просмотрите события Microsoft\Windows\SymProxy.