SymProxy 자동화된 설치
아래 Install.cmd 스크립트와 함께 이러한 단계는 SymProxy를 기본 IIS 설치로 자동화하는 데 도움이 될 수 있습니다. 이러한 단계를 환경의 특정 요구 사항에 맞게 조정해야 할 수 있습니다.
D:\SymStore\Symbols 폴더를 만듭니다.
모든 사람에게 읽기 권한 부여
SymProxy 앱 풀 사용자 계정에 읽기\쓰기 권한 부여(Domain\User)
D:\SymStore\Symbols를 기호로 공유합니다.
- 모든 사람에게 읽기 권한 부여(또는 더 구체적으로 설명)
(선택 사항) D:\SymStore\Symbols에서 index2.txt 이라는 빈 파일을 만듭니다.
(선택 사항) %WINDIR%\system32\inetsrv\symsrv.yes라는 빈 파일을 만듭니다. Microsoft 공용 기호 저장소에 대한 EULA를 허용합니다.
Install.cmd에 대한 매개 변수를 확인하고 실행합니다.
만든 서버 이름을 사용하여 클라이언트 기호 경로를 구성합니다.
SRV*\\MachineName\Symbols*https://MachineName/Symbols
Install.cmd 스크립트에는 다음 3개의 매개 변수가 필요합니다.
- 가상 디렉터리 경로(예: D:\SymStore\Symbols)
- 사용자 이름(애플리케이션 풀의 경우)
- 암호(애플리케이션 풀의 경우)
MIME 형식 상속을 지우려면 연결된 AppCmd.exe 명령을 구동하려면 XML 파일이 필요합니다. 이 결과를 얻으려면 아래 표시된 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 설치 테스트
이제 시스템에서 파일을 획득하고 제공할 준비가 되었습니다. 테스트하려면 먼저 iisreset.exe 실행하여 IISAdmin 서비스를 다시 시작합니다. 그러면 현재 IIS 및 SymProxy 구성을 사용하여 ISAPI 필터가 다시 로드됩니다.
이 기호 경로를 사용하도록 디버거를 구성합니다.
srv*\\MachineName\Symbols*https://MachineName/Symbols
MissTimeout을 사용하도록 설정하면(기본적으로 300초로 설정됨) .reload /f 명령을 두 번 실행하면 두 번째로 훨씬 더 빠르게 실행됩니다.
참조되는 PDB의 위치를 보려면 lm(목록 모듈) 명령을 사용합니다. PDB의 경로는 모두 \\MachineName\Symbols로 시작해야 합니다.
웹 사이트에서 디렉터리 검색을 사용하도록 설정한 경우 로 이동하여 https://MachineName/Symbols 캐시된 파일을 확인합니다.
성능 모니터 열고 기호 프록시 카운터를 봅니다.
이벤트 뷰어 열고 Microsoft\Windows\SymProxy 이벤트를 봅니다.