Computer >> 컴퓨터 >  >> 체계 >> Windows Server

웹 사이트 및 IIS 구성을 백업 및 복원하는 방법은 무엇입니까?

이 기사에서는 Windows Server에서 웹 사이트, 응용 프로그램 풀 및 IIS 웹 서버 구성을 백업하는 방법을 살펴보겠습니다. 호스트 서버에 장애가 발생하거나 웹사이트(및/또는 IIS 구성)를 다른 서버로 마이그레이션/이동하는 경우 인터넷 정보 서비스 백업을 사용하여 웹사이트를 복원할 수 있습니다.

Windows 서버에서 IIS 백업

인터넷 정보 서비스 웹 서버에서 실행되는 사이트의 데이터 및 구성 백업은 여러 단계로 구성됩니다.

  1. IIS 웹사이트 파일 백업 (기본적으로 IIS 사이트 파일은 %SystemDrive%\inetpub\wwwroot에 저장됩니다. ). 이 폴더는 백업 계획에 포함되어야 합니다. 백업 도구(내장된 Windows Server 백업을 사용할 수도 있음 -> 백업을 위해 inetpub 디렉토리 선택) 또는 간단한 BAT/PowerShell 스크립트를 사용하여 모든 파일을 복사하는 것으로 충분합니다. 예를 들어, WSB를 설치하고 inetpub\wwwroot 디렉터리를 공유 폴더에 백업하려면 다음 명령을 사용합니다.# Install the Windows server feature using PowerShell;
    Install-WindowsFeature -Name Windows-Server-Backup
    # backup IIS website static files
    wbadmin start backup –backupTarget:\\srv-backup1\backup -include:c:\inetpub\wwwroot -vsscopy
  2. 현재 IIS 인증서 백업(내보내기) (이 명령을 사용하여 서버의 SSL 인증서 목록을 가져올 수 있습니다. netsh http show sslcert ) PowerShell을 사용하여 PFX(Personal Information Exchange) 형식의 공유 네트워크 폴더에 인증서를 백업할 수 있습니다. dir cert:\localmachine\my | Where-Object { $_.hasPrivateKey } | Foreach-Object { [system.IO.file]::WriteAllBytes("\\srv-backup1\backup\$($_.Subject).pfx",($_.Export('PFX', 'secret')) ) } 웹 사이트 및 IIS 구성을 백업 및 복원하는 방법은 무엇입니까?
  3. IIS 구성(설정)을 백업합니다.

내장된 appcmd를 사용하여 IIS 구성을 백업할 수 있습니다. 도구. 관리자로 명령 프롬프트를 열고 디렉터리를 변경합니다.

cd c:\Windows\system32\inetsrv

IIS 구성을 백업해 보겠습니다.

appcmd add backup srv1-iis-backup-2022_03_10

BACKUP object srv1-iis-backup-2022_03_10 added

웹 사이트 및 IIS 구성을 백업 및 복원하는 방법은 무엇입니까?

Appcmd는 백업 이름으로 c:\Windows\system32\inetsrv\backup 디렉터리에 폴더를 만듭니다. 다음 파일이 포함되어 있습니다.

  • 관리.구성
  • applicationHost.config
  • MBSchema.xml
  • MetaBase.xml
  • redirection.config

웹 사이트 및 IIS 구성을 백업 및 복원하는 방법은 무엇입니까?

이 디렉토리를 백업 저장 장치에 복사하는 작업이 남아 있습니다.

Windows Server 2019/2016에서는 내장 PowerShell cmdlet을 사용하여 appcmd 대신 IIS를 백업할 수 있습니다.

Backup-WebConfiguration -Name MyBackup202203

또한 이 cmdlet은 현재 IIS 설정을 $env:Windir\System32\inetsrv\backup으로 내보냅니다. .

다른 Windows 서버 호스트에서 IIS 구성 복원

백업에서 동일한 서버나 다른 호스트로 IIS 구성을 복원할 수 있습니다. 다른 Windows Server 호스트에서 IIS 구성을 복원해야 한다고 가정해 보겠습니다.

IIS 백업 디렉터리를 대상 서버의 동일한 폴더(c:\windows\system32\backup)에 복사합니다.

사용 가능한 모든 IIS 구성 백업 목록을 표시하려면 다음 명령을 실행하십시오.

appcmd list backup

복사된 백업이 사용 가능한 목록에 나타나야 합니다. 백업에서 IIS 구성 복원:

appcmd restore backup /stop:true srv1-iis-backup-2022_03_10

웹 사이트 및 IIS 구성을 백업 및 복원하는 방법은 무엇입니까?

"백업 srv1-iis-backup-2022_03_10에서 복원된 구성 IIS 구성이 성공적으로 복원되었음을 의미합니다.

/stop:true 옵션은 복원하기 전에 IIS를 강제로 중지합니다.

Restore-WebConfiguration -Name srv1-iis-backup-2022_03_10

참고 . BACKUP “CFGHISTORY_0000000001”과 같은 항목이 있습니다. 사용 가능한 백업 목록에서 이는 자동으로 생성되고 \inetpub\history 디렉터리에 있는 IIS 구성 백업입니다. 자동 백업 기능은 IIS 7+에 나타났습니다:IIS 관리자를 통해 만들어진 ApplicationHost.config에 대한 변경 사항을 추적하고, 10개의 최신 백업을 저장하고, 2분마다 파일의 변경 사항을 확인합니다.

이전 백업을 삭제하려면 다음 명령을 실행하십시오.

appcmd.exe delete backup BackupName

참고 . 중요한 제한 사항 및 핵심 사항 목록:

  • 두 서버에서 동일한 IIS 버전을 사용해야 합니다. PowerShell을 사용하여 레지스트리에서 IIS 버전을 확인할 수 있습니다. get-itemproperty HKLM:\SOFTWARE\Microsoft\InetStp\ | select setupstring,versionstring 제 경우에는 IIS 10.0입니다. 웹 사이트 및 IIS 구성을 백업 및 복원하는 방법은 무엇입니까?
  • IIS 응용 프로그램 풀이 기본 제공 계정에서 실행되지 않는 경우 대상 IIS 호스트에서 사용할 수 있어야 합니다.
  • IIS를 복원하기 전에 사용하는 SSL 인증서를 새 서버로 가져와야 합니다.

msdeploy를 사용하여 IIS 웹 서버를 백업할 수도 있습니다. 패키지(웹 배포 도구). IIS 호스트와 대상 백업 호스트(https://www.microsoft.com/en-us/download/details.aspx?id=43717)에 msdeploy 패키지를 다운로드하여 설치합니다.

webdeploy를 통해 원격 Windows 호스트 192.168.100.112에 IIS 백업(여러 사이트가 IIS에서 실행 중인 경우 모든 사이트 포함)을 생성하려면 다음 명령을 사용할 수 있습니다.

msdeploy -verb:sync -source:webServer,computername=192.168.100.112 dest:package=c:\Backup\IIS\server1_iis_backup.zip

개별 IIS 웹사이트를 백업할 수도 있습니다.

msdeploy –verb:sync -source:contentPath="site_name.com",computername=192.168.100.112 -dest:package=c:\Backup\IIS\site_name.zip

또는 지정된 디렉토리에서 정적 웹사이트 파일만 복사:

msdeploy –verb:sync –source:dirPath="c:\inetpub\wwwroot\site_name",computername=192.168.100.112 -dest:package=c:\Backup\IIS\site_name_static_files.zip