Programing

IIS 7 사이트를 다른 서버로 어떻게 마이그레이션합니까?

lottogame 2020. 8. 23. 09:39
반응형

IIS 7 사이트를 다른 서버로 어떻게 마이그레이션합니까?


웹 사이트를 다른 서버로 이동하는 가장 좋은 방법이 무엇인지 궁금합니다 (모든 설정 포함).

  • 새 서버에서 사이트를 수동으로 다시 만듭니다 (명백한 이유로 유지 관리 할 수 ​​없음)
  • applicationHost.config 설정 파일 복사
  • appcmd를 사용하여 백업 및 복원 만들기
  • MSDeploy를 사용하여 새 컴퓨터에 사이트 게시
  • 타사 도구 사용

다른 사람들의 경험이 무엇인지 궁금합니다.


IIS 관리자에서 서버 구성을 내 보냅니다.

  1. IIS 관리자에서 서버 노드를 클릭합니다.
  2. "관리"에서 공유 구성으로 이동합니다.
  3. "구성 내보내기"를 클릭합니다. (인터넷으로 전송하는 경우 암호를 사용할 수 있으며 USB 키를 통해 이동하려는 경우 땀을 흘리지 마십시오.)
  4. 이 파일을 새 서버로 이동

    administration.config
    applicationHost.config
    configEncKey.key 
    
  5. 새 서버에서 "공유 구성"섹션으로 돌아가 "공유 구성 활성화"를 선택합니다. 이러한 파일의 실제 경로에 위치를 입력하고 적용하십시오.

  6. 암호화 암호 (설정 한 경우)를 입력하고 IIS를 재설정해야합니다.

BAM! 가서 맥주 마셔!


MSDeploy는 IIS 팀이 권장하는 모든 콘텐츠, 구성 등을 마이그레이션 할 수 있습니다. http://www.iis.net/extensions/WebDeploymentTool

패키지를 만들려면 다음 명령을 실행합니다 (기본 웹 사이트를 웹 사이트 이름으로 대체).

msdeploy.exe -verb:sync -source:apphostconfig="Default Web Site" -dest:package=c:\dws.zip > DWSpackage7.log

패키지를 복원하려면 다음 명령을 실행하십시오.

msdeploy.exe -verb:sync -source:package=c:\dws.zip -dest:apphostconfig="Default Web Site" > DWSpackage7.log

다음은 appcmd를 사용하여 사이트 구성을 내보내거나 가져 오는 방법에 대한 유용한 웹 사이트입니다. http://www.microsoftpro.nl/2011/01/27/exporting-and-importing-sites-and-app-pools-from-iis-7-and-7-5/


Microsoft Web Deploy v3 는 모든 파일, 구성 설정 등을 내보내고 가져올 수 있습니다. 모든 파일을 새 서버로 가져올 준비가 된 zip 아카이브에 저장합니다. 최신 버전의 IIS (v7-v8)로 업그레이드 할 수도 있습니다.

http://www.iis.net/extensions/WebDeploymentTool

도구 설치 후 : IIS 관리 콘솔에서 서버 또는 웹 사이트를 마우스 오른쪽 버튼으로 클릭하고 '배포', '애플리케이션 내보내기 ...'를 선택하고 내보내기를 실행합니다.

새 서버에서 동일한 방법으로 내 보낸 zip 아카이브를 가져옵니다.


appcmd를 사용하여 하나 또는 모든 사이트를 내 보낸 다음 새 서버로 다시 가져옵니다. iis7.0 또는 7.5 일 수 있습니다. appcmd를 사용하여 내보낼 때 암호가 해독 된 다음 다시 가져 와서 다시 암호화됩니다.


담당자 부족으로 댓글을 달 수 없습니다. 또 다른 제안자는 IIS의 하위 버전에서 상위 버전으로 마이그레이션 할 수 없다고 말했습니다. 일부 파일을 병합하지 않은 경우에도 해당되지만, chews가 게시 한 답변을 사용하여 IIS 7.5 사이트를 IIS 8.0으로 마이그레이션 한 것처럼 가능합니다.

내보내기가 생성되면 (II7.5) IIS7.5 서버의 리소스에 대한 참조가있는 두 개의 키 파일 (administration.config 및 applicationHost.config)이 있습니다. 예를 들어 DLL은 7.5에 특정한 공개 키 및 버전으로 참조됩니다. IIS8 서버에서는 동일하지 않습니다. 기능 구성도 다를 수 있습니다 (내가 동일하다는 것을 확인했습니다). 8에는 7.5에는 존재하지 않을 몇 가지 새로운 기능이 있습니다.

두 파일을 병합 할 정도로 용감하다면 작동합니다. IIS를 망쳐 서 한 번 제거해야했지만 두 번째로 설치했습니다.

나는 병합 도구 (비교를 넘어서)를 사용했고 동등한 것이 없으면 거대한 PITA가 될 것입니다. 그러나 좋은 비교 도구 (5 분)를 사용하면 꽤 쉬웠습니다.

병합을 수행하려면 가져 오기를 시도하기 전에 8.0 파일을 내 보낸 7.5 파일과 비교해야합니다. 대부분의 경우 8.0 파일은 내 보낸 7.5 파일의 서버 관련 항목을 덮어 쓰고 사이트 / 앱 풀 관련 항목은 그대로 두어야합니다.

Administration.config가 거의 동일하고 많은 항목의 버전 정보가 없다는 것을 알았습니다. 이것은 쉬웠습니다.

applicationHost.config에는 훨씬 더 많은 차이점이 있습니다. 일부 항목은 순서가 다르지만 그렇지 않으면 동일하므로 각 차이점을 골라서 파악해야합니다.

병합하기 전에 7.5 내보내기 파일을 System32 \ inetsrv \ config \ Export 폴더에 넣었습니다.

위에서 언급 한 두 파일 모두에서 System32 \ inetsrv \ config 폴더를 System32 \ inetsrv \ config \ Export 폴더로 병합했습니다. 사이트 별 태그 / 요소 (예 : applicationPools, customMetadata, 사이트, 인증)를 제외한 FROM 파일의 모든 항목을 푸시했습니다. 특히 주목해야 할 사이트 별 "위치"태그 블록도 많이 있었지만 새 서버에는 유지해야하는 서버 별 기본값이있는 자체 "위치"태그 블록이있었습니다.

마지막으로, 서비스 계정을 사용하는 경우 이러한 캐시 된 암호는 정크이므로 앱 풀에 다시 입력해야합니다. 내 사이트 중 어느 것도 처음에는 작동하지 않았지만 필요한 것은 모든 앱 풀에 대한 암호를 다시 입력하는 것이었고 실행 중이었습니다.

If someone who can comment mention this post down thread - it will probably help someone else like me who has many sites on one server with complicated configurations.

Regards,

Stuart


In my case, the files were already copied, I found the easiest way to follow the steps in this guide: https://www.ryadel.com/en/exporting-importing-app-pools-and-websites-configuration-between-multiple-iis-instances/

I exported AppPools/Websites, copied the xml files to the destination server and Imported AppPools then Websites. Worked very well. This is also another excellent option for this question.

참고URL : https://stackoverflow.com/questions/493236/how-do-you-migrate-an-iis-7-site-to-another-server

반응형