Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Máy Chủ Windows

Cách sao lưu và khôi phục trang web và cấu hình IIS?

Trong bài viết này, chúng ta sẽ xem cách sao lưu trang web, application pool và cấu hình máy chủ web IIS trên Windows Server. Bạn có thể dùng bản sao lưu Internet Information Services để khôi phục trang web trong trường hợp máy chủ lưu trữ gặp sự cố, hoặc nếu bạn di chuyển/chuyển trang web (và/hoặc cấu hình IIS) sang máy chủ khác.

Sao lưu IIS trên Windows Server

Việc sao lưu dữ liệu và cấu hình của các trang web chạy trên máy chủ web Internet Information Service bao gồm một số bước:

  1. Sao lưu file trang web IIS (mặc định, file trang web IIS được lưu trong %SystemDrive%\inetpub\wwwroot). Thư mục này phải được bao gồm trong kế hoạch sao lưu. Việc sao chép tất cả các file bằng công cụ sao lưu của bạn (bạn thậm chí có thể dùng Windows Server Backup tích hợp -> chọn thư mục inetpub để sao lưu), hoặc script BAT/PowerShell đơn giản là đủ. Ví dụ, để cài đặt WSB và sao lưu thư mục inetpub\wwwroot vào thư mục chia sẻ, dùng các lệnh sau:# Cài đặt tính năng Windows server bằng PowerShell; Install-WindowsFeature -Name Windows-Server-Backup # sao lưu file tĩnh trang web IIS wbadmin start backup –backupTarget:\\srv-backup1\backup -include:c:\inetpub\wwwroot -vsscopy
  2. Sao lưu (xuất) chứng chỉ SSL IIS hiện tại (bạn có thể lấy danh sách chứng chỉ SSL trên máy chủ bằng lệnh: netsh http show sslcert) Bạn có thể dùng PowerShell để sao lưu chứng chỉ vào thư mục chia sẻ mạng ở định dạng 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')) ) } Cách sao lưu và khôi phục trang web và cấu hình IIS?
  3. Sao lưu cấu hình IIS (cài đặt).

Bạn có thể sao lưu cấu hình IIS bằng công cụ appcmd tích hợp. Mở command prompt với quyền admin và chuyển thư mục:

cd c:\Windows\system32\inetsrv

Hãy sao lưu cấu hình IIS:

appcmd add backup srv1-iis-backup-2022_03_10
BACKUP object srv1-iis-backup-2022_03_10 added

Cách sao lưu và khôi phục trang web và cấu hình IIS?

Appcmd tạo một thư mục trong c:\Windows\system32\inetsrv\backup với tên bản sao lưu của bạn. Nó chứa các file sau:

  • administration.config
  • applicationHost.config
  • MBSchema.xml
  • MetaBase.xml
  • redirection.config

Cách sao lưu và khôi phục trang web và cấu hình IIS?

Còn lại là sao chép thư mục này đến thiết bị lưu trữ sao lưu.

Trên Windows Server 2019/2016, bạn có thể dùng cmdlet PowerShell tích hợp để sao lưu IIS thay vì appcmd:

Backup-WebConfiguration -Name MyBackup202203

Cmdlet này cũng xuất cài đặt IIS hiện tại đến $env:Windir\System32\inetsrv\backup.

Khôi phục cấu hình IIS trên máy chủ Windows Server khác

Bạn có thể khôi phục cấu hình IIS từ bản sao lưu về cùng máy chủ hoặc sang máy chủ khác. Giả sử bạn cần khôi phục cấu hình IIS trên máy chủ Windows Server khác.

Sao chép thư mục sao lưu IIS vào cùng thư mục (c:\windows\system32\backup) trên máy chủ đích.

Để hiển thị danh sách tất cả bản sao lưu cấu hình IIS có sẵn, chạy lệnh:

appcmd list backup

Bản sao lưu đã sao chép phải xuất hiện trong danh sách các bản sao lưu có sẵn. Khôi phục cấu hình IIS từ bản sao lưu:

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

Cách sao lưu và khôi phục trang web và cấu hình IIS?

Thông báo "Restored configuration from backup srv1-iis-backup-2022_03_10 có nghĩa là cấu hình IIS đã được khôi phục thành công.

Tùy chọn /stop:true buộc IIS dừng trước khi khôi phục.

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

Lưu ý. Có các mục như BACKUP “CFGHISTORY_0000000001” trong danh sách bản sao lưu có sẵn. Đây là bản sao lưu cấu hình IIS được tạo tự động và nằm trong thư mục \inetpub\history. Tính năng sao lưu tự động xuất hiện trong IIS 7+: các thay đổi đối với ApplicationHost.config được thực hiện qua IIS Manager được theo dõi, 10 bản sao lưu mới nhất được lưu trữ, và file được kiểm tra thay đổi mỗi 2 phút.

Để xóa bản sao lưu trước đó, chạy lệnh:

appcmd.exe delete backup BackupName

Lưu ý. Danh sách các hạn chế quan trọng và điểm chính:

  • Phiên bản IIS giống nhau phải được dùng trên cả hai máy chủ. Bạn có thể kiểm tra phiên bản IIS của bạn trong registry bằng PowerShell: get-itemproperty HKLM:\SOFTWARE\Microsoft\InetStp\ | select setupstring,versionstring Trong trường hợp của tôi, đây là IIS 10.0 Cách sao lưu và khôi phục trang web và cấu hình IIS?
  • Nếu application pool IIS không chạy từ tài khoản tích hợp sẵn, chúng phải có sẵn trên máy chủ IIS đích.
  • Trước khi khôi phục IIS, bạn phải nhập bất kỳ chứng chỉ SSL nào bạn sử dụng sang máy chủ mới.

Bạn cũng có thể sao lưu máy chủ web IIS của mình bằng gói msdeploy (Web Deployment Tool). Tải xuống và cài đặt gói msdeploy trên máy chủ IIS của bạn và trên máy chủ sao lưu đích (https://www.microsoft.com/en-us/download/details.aspx?id=43717).

Để tạo bản sao lưu IIS (với tất cả trang web nếu nhiều trang web đang chạy trên IIS) sang máy chủ Windows từ xa 192.168.100.112 qua webdeploy, lệnh sau có thể được dùng:

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

Bạn cũng có thể sao lưu một trang web IIS riêng lẻ:

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

Hoặc chỉ sao chép file tĩnh trang web từ thư mục được chỉ định:

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