Computer >> Máy Tính >  >> Hệ thống >> máy chủ Windows

Làm thế nào để 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 xét cách sao lưu trang web, nhóm ứng dụng và cấu hình máy chủ web IIS trên Windows Server. Bạn có thể sử dụng bản sao lưu Dịch vụ thông tin Internet để khôi phục trang web trong trường hợp máy chủ lưu trữ bị lỗi hoặc nếu bạn di chuyển / di 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

Sao lưu dữ liệu và cấu hình của các trang web đang chạy trên máy chủ web Dịch vụ thông tin Internet bao gồm một số bước:

  1. Sao lưu các tệp trang web IIS (theo mặc định, các tệp trang IIS được lưu trữ trong %SystemDrive%\inetpub\wwwroot ). Thư mục này phải được bao gồm trong kế hoạch sao lưu. Chỉ cần sao chép tất cả các tệp tin bằng công cụ sao lưu của bạn là đủ (bạn thậm chí có thể sử dụng Windows Server Backup tích hợp sẵn -> chọn thư mục inetpub để sao lưu) hoặc các tập lệnh BAT / PowerShell đơn giản. Ví dụ:để cài đặt WSB và sao lưu thư mục inetpub \ wwwroot vào thư mục chia sẻ, hãy sử dụng các lệnh sau:# 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. Sao lưu (xuất) chứng chỉ 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 này:netsh http show sslcert ) Bạn có thể sử dụng PowerShell để sao lưu chứng chỉ vào thư mục mạng chia sẻ ở định dạng PFX (Trao đổi thông tin cá nhân):dir cert:\localmachine\my | Where-Object { $_.hasPrivateKey } | Foreach-Object { [system.IO.file]::WriteAllBytes("\\srv-backup1\backup\$($_.Subject).pfx",($_.Export('PFX', 'secret')) ) } Làm thế nào để sao lưu và khôi phục trang web và cấu hình IIS?
  3. Cấu hình IIS sao lưu (cài đặt).

Bạn có thể sao lưu cấu hình IIS bằng appcmd tích hợp sẵn dụng cụ. Mở dấu nhắc lệnh với tư cách quản trị viên và thay đổi 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

Làm thế nào để 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 thư mục sao lưu c:\ Windows \ system32 \ inetsrv \ với tên của bản sao lưu của bạn. Nó chứa các tệp sau:

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

Làm thế nào để sao lưu và khôi phục trang web và cấu hình IIS?

Nó vẫn để sao chép thư mục này vào thiết bị lưu trữ dự phòng.

Trên Windows Server 2019/2016, bạn có thể sử dụng lệnh ghép ngắn PowerShell tích hợp để sao lưu IIS thay vì appcmd:

Backup-WebConfiguration -Name MyBackup202203

Lệnh ghép ngắn này cũng xuất các cài đặt IIS hiện tại sang $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 của mình từ một bản sao lưu vào cùng một máy chủ hoặc một máy chủ lưu trữ khác. Giả sử bạn cần khôi phục cấu hình IIS trên một máy chủ Windows Server khác.

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

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

appcmd list backup

Bản sao lưu đã sao chép sẽ xuất hiện trong danh sách các bản 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

Làm thế nào để sao lưu và khôi phục trang web và cấu hình IIS?

“Cấu hình được khôi phục từ bản sao lưu srv1-iis-backup-2022_03_10 nghĩa là cấu hình IIS đã được khôi phục thành công.

/stop:true tùy chọn 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ập như BACKUP “CFGHISTORY_0000000001” trong danh sách các bản sao lưu có sẵn. Đây là các bản sao lưu cấu hình IIS được tạo tự động và nằm trong thư mục \ inetpub \ history. Các 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 thông qua Trình quản lý IIS được theo dõi, 10 bản sao lưu mới nhất được lưu trữ và tệp được kiểm tra các thay đổi 2 phút một lần.

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

appcmd.exe delete backup BackupName

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

  • Phải sử dụng cùng một phiên bản IIS trên cả hai máy chủ. Bạn có thể kiểm tra phiên bản IIS của mình trong sổ đăng ký 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 Làm thế nào để sao lưu và khôi phục trang web và cấu hình IIS?
  • Nếu nhóm ứng dụng IIS không chạy từ tài khoản tích hợp, 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 vào 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 cách sử dụng msdeploy gói (Công cụ triển khai web). 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ủ dự phòng đí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ả các trang nếu nhiều trang đang chạy trên IIS) vào máy chủ Windows từ xa 192.168.100.112 qua webdeploy, có thể sử dụng lệnh sau:

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 các tệp trang web tĩnh 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