C?u h?nh IIS 7.0 ho?c sau World Wide Web b?n ghi d?ch v? xu?t b?n trong m?t c?m chuy?n đ?i d? ph?ng Windows Server 2008, Windows Server 2008 R2 ho?c Windows Server 2012

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 970759 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

GI?I THI?U

Bài vi?t này mô t? làm th? nào đ? c?u h?nh Microsoft Internet Information Services (IIS) 7.5 ho?c IIS 7.0 trong m?t c?m chuy?n đ?i d? ph?ng Windows Server 2008 ho?c Windows Server 2008 R2. Các th? t?c trong bài vi?t này ch? áp d?ng cho b?n ghi d?ch v? xu?t b?n World Wide Web. Đ? đư?c hư?ng d?n làm th? nào đ? c?u h?nh FTP Publishing service trong m?t c?m chuy?n đ?i d? ph?ng, xin tham kh?o:
974603 Làm th? nào đ? c?u h?nh FTP 7.5 cho IIS 7.0 trong m?t Windows Server 2008 c?m chuy?n đ?i d? ph?ng

Thông tin thêm

Trong phiên b?n trư?c c?a Internet thông tin b?n ghi d?ch v?, Microsoft cung c?p ngu?n tài nguyên chung thành ph?n màn h?nh đ? h? tr? s?n sàng cao Web máy ch? trư?ng h?p s? d?ng cơ s? h? t?ng Microsoft Clustering. Tuy nhiên, m? tùy ch?nh là c?n thi?t đ? hoàn toàn nh?n ra ti?m năng c?a m?t gi?i pháp. Ngoài ra, các k?ch b?n chung mà Microsoft cung c?p không đáp ?ng nhu c?u khách hàng. Đ? c?u h?nh IIS 7.5 ho?c IIS 7.0 trong m?t môi trư?ng nhóm b?ng cách s? d?ng Windows Server chuy?n đ?i d? ph?ng clustering, b?n ph?i s? d?ng m?t s? m? tùy ch?nh (k?ch b?n) đ? cho phép m?t k?ch b?n s?n sàng cao. Khi b?n làm đi?u này, ngư?i dùng có th? tùy ch?nh các thi?t l?p đ? đáp ?ng yêu c?u c?a h?. Đi?u này mang l?i cho h? đ?y đ? quy?n ki?m soát s? tích h?p s?n sàng cao c?a các ứng dụng web. Ngoài ra, các t?p l?nh giao di?n đ? qu?n l? và giám sát mà đ? đư?c gi?i thi?u trong IIS 7,5 và IIS 7.0 cung c?p m?t môi trư?ng phong phú hơn so v?i các t?p l?nh cung c?p trư?c đây.

Lưu ? T?p tin cài đ?t chuyên bi?t IIS 7.0 không chính xác bao g?m Clusweb.vbs và t?p tin k?ch b?n Clusftp.vbs đư?c s? d?ng trong IIS 6.0 IIS c?m tác v? qu?n tr?. Không s? d?ng các k?ch b?n v?i IIS 7.0 ho?c phiên b?n m?i hơn.

Microsoft khuy?n cáo qu?n tr? viên c?n th?n đánh giá vi?c s? d?ng c?a m?ng t?i cân b?ng (NLB) là phương pháp chính và đư?c ưa thích cho vi?c c?i thi?n kh? năng m? r?ng và tính kh? d?ng c?a ứng dụng web v?i nhi?u máy ch? ch?y IIS 7,5 ho?c IIS 7.0, như trái ngư?c v?i s? d?ng chuy?n đ?i d? ph?ng clustering. M?t trong nh?ng l?i ích c?a NLB là t?t c? các máy ch? có th? tích c?c tham gia vào vi?c x? l? đ?ng th?i lư?ng yêu c?u HTTP đ?n. M?t l?i ích là r?ng trong m?t môi trư?ng NLB IIS, nó có th? d? dàng hơn đ? h? tr? cán C?p Nh?t và rollbacks trong khi v?n cung c?p s?n sàng cao c?a các ứng dụng web. Đ? bi?t thêm chi ti?t v? vi?c s? d?ng IIS 7,5 ho?c IIS 7.0 trong m?t môi trư?ng NLB, xem Web site sau c?a Microsoft:
http://Learn.IIS.net/Page.aspx/213/Network-Load-Balancing
http://technet.Microsoft.com/en-US/Library/cc770558.aspx
Nó là quan tr?ng đ? xem xét r?ng c?m IIS b?ng phương ti?n c?a c?m các b?n ghi d?ch v? IIS không đ?m luôn luôn b?o m?t gi?i pháp s?n sàng cao cho các ứng dụng web. Trong khi các b?n ghi d?ch v? IIS (đ?c bi?t là b?n ghi d?ch v? WWW) có th? lên b?t lên và ch?y, m?t nhóm ứng dụng c? th? c?a quá tr?nh lưu tr? có th? đ? ch?m d?t, ho?c các ?ng d?ng có th? ném l?i máy ch? n?i b? HTTP. C?m các ứng dụng web và giám sát s?c kh?e c?a h? b?ng cách s? d?ng m?t k?ch b?n tùy ch?nh là cách chính xác và đư?c đ? ngh? đ? đ?t đư?c m?t c?m IIS s?n sàng cao b?ng cách s? d?ng chuy?n đ?i d? ph?ng clustering. Dư?i đây là m?t k?ch b?n m?u theo d?i trạm đậu c?a m?t nhóm ứng dụng đ? xác đ?nh n?u nó B?t đ?u hay không.

Đ? đ?t c?u h?nh s?n sàng cao cho IIS 7.0 và 7.5 Máy ch? Web b?ng cách s? d?ng chuy?n đ?i d? ph?ng clustering, h?y làm theo các bư?c sau. Bư?c 3-7 đư?c mô t? chi ti?t hơn dư?i đây.  Các k?ch b?n m?u sau này trong bài vi?t này có th? đư?c s? d?ng như là m?t ví d? cho IIS 7.0, IIS 7,5 và IIS 8,0.
  1. cài đ?t chuyên bi?t vai tr? Máy ch? Web trên t?t c? các nút ch?n m?t c?m sao. Đ? bi?t chi ti?t, ghé thăm Web site sau c?a Microsoft:
    http://technet.Microsoft.com/en-US/Library/cc771752.aspx
  2. cài đ?t chuyên bi?t tính năng c?m chuy?n đ?i d? ph?ng trên t?t c? các nút ch?n m?t c?m và t?o ra các c?m. Đ? bi?t chi ti?t, ghé thăm Web site sau c?a Microsoft:
    http://technet.Microsoft.com/en-US/Library/dd197477.aspx
  3. Thi?t l?p m?t chia s? t?p tin s? đư?c s? d?ng cho c?u h?nh chia s? IIS.
  4. C?u h?nh c?u h?nh chia s? IIS trên t?t c? các nút ch?n m?t c?m sao.
  5. C?u h?nh IIS t?p gián tuy?n cho c?u h?nh chia s? trên t?t c? các nút ch?n m?t c?m sao.
  6. h? sơ trang (bao g?m c? nhóm ứng dụng liên k?t), và xác đ?nh v? trí c?a n?i dung c?a nó vào m?t c?m nút ch?n m?t.
  7. C?u h?nh s?n sàng cao cho web site c?a b?n b?ng cách t?o m?t k?ch b?n chung trong chuy?n đ?i d? ph?ng clustering.

Thi?t l?p m?t chia s? t?p tin s? đư?c s? d?ng cho c?u h?nh chia s? IIS

  1. T?o m?t ngư?i dùng s? truy c?p vào chia s? s? đư?c s? d?ng cho c?u h?nh chia s? IIS.
  2. T?o chia s? t?p tin. Chia s? này s? đư?c s? d?ng đ? lưu tr? c?u h?nh chia s? IIS s? đư?c chia s? gi?a IIS trên t?t c? các nút ch?n m?t c?m sao. Có nhi?u tùy ch?n:
    • Trên m?t máy ch? đ?c l?p không ph?i là m?t ph?n c?a b?t k? c?m chuy?n đ?i d? ph?ng, t?o m?t chia s? t?p tin.
    • Trên m?t c?m chuy?n đ?i d? ph?ng máy ch? Windows, t?o m?t chia s? t?p s?n sàng cao. Đ? bi?t chi ti?t, ghé thăm Web site sau c?a Microsoft:
      http://technet.Microsoft.com/en-US/Library/cc731844.aspx
    • Trên c?m chuy?n đ?i d? ph?ng cùng mà s? lưu tr? các web site s?n sàng cao, t?o m?t chia s? t?p s?n sàng cao. Đ? bi?t chi ti?t, ghé thăm Web site sau c?a Microsoft:
      http://technet.Microsoft.com/en-US/Library/cc731844.aspx
  3. Thi?t l?p quy?n truy c?p vào ph?n mà b?n đ? t?o ? bư?c 2. Cung c?p cho ngư?i dùng mà b?n đ? t?o ? bư?c 1 đi?u khi?n hoàn toàn quy?n đ? chia s? t?p tin và NTFS cho phép.
  4. Xác nh?n r?ng t?t c? các nút ch?n m?t c?m có th? tr?nh duy?t đ? chia s? t?p tin. Đư?ng d?n đ?n t?p tin chia s? \\<fileserver>\<share>.</share> </fileserver>

C?u h?nh c?u h?nh chia s? IIS trên t?t c? các nút ch?n m?t c?m

Lưu ? Đó là m?t v?n đ? v?i c?u IIS chia s? h?nh trên Windows 2008 Server do thi?u quy?n cho các ?ng d?ng máy ch? b?n ghi d?ch v? Helper. Chia s? c?u h?nh đ? làm vi?c, b?n ph?i làm theo các bư?c sau khi b?n t?p c?u h?nh chia s? IIS trên Windows 2008 Server.
  1. M? m?t d?u ki?m nh?c l?nh hành chính.
  2. Ch?y l?nh sau:
    net stop apphostsvc
  3. Ch?y l?nh sau:
    SC privs apphostsvc SeTcbPrivilege-SeChangeNotifyPrivilege-SeImpersonatePrivilege
  4. Ch?y l?nh sau:
    net B?t đ?u apphostsvc
Sau khi b?n hoàn t?t các bư?c trên m?i Windows 2008 Server trong c?m sao, ti?p t?c thi?t l?p IIS chia s? c?u h?nh như đư?c di?n t? trong ph?n này.

Trên m?t trong các nút ch?n m?t c?m, xu?t kh?u các c?u h?nh chia s? đ? chia s? t?p tin:
  1. Đi?u hư?ng đ?n Công c? qu?n tr?, và sau đó nh?p vào Qu?n l? b?n ghi d?ch v? (IIS) thông tin Internet.
  2. Trong ngăn bên trái, nh?p vào nút ch?n m?t tên máy (ứng dụng) phục vụ.
  3. Nh?p đúp vào các C?u h?nh chia s? bi?u tư?ng.
  4. Trang chia s? c?u h?nh, b?m vào C?u h?nh xu?t kh?u trong các Hành đ?ng c?a s? (c?a s? bên ph?i) đ? xu?t kh?u các t?p tin c?u h?nh t? máy tính đ?n m?t v? trí.
  5. Trong các C?u h?nh xu?t kh?u hộp thoại, g? đư?ng d?n t?p tin cô chia s? ((ti?ng Vi?t)\\<fileserver>\<share></share></fileserver>) trong các V?t l? đư?ng d?n h?p.
  6. B?m chu?t K?t n?i như, và sau đó nh?p tên người dùng và m?t kh?u cho tài kho?n ngư?i dùng có quy?n truy c?p đ? chia s? trong c?u h?nh chia s? đư?c lưu tr?, và sau đó nh?p vào Ok. Tài kho?n này s? đư?c s? d?ng đ? truy c?p vào ph?n. B?n nên s? d?ng m?t tài kho?n Thư mục Họat động b? h?n ch? không ph?i là qu?n tr? viên mi?n.
  7. Trong các C?u h?nh xu?t kh?u hộp thoại, g? m?t kh?u mà s? đư?c s? d?ng đ? b?o v? các phím m? hóa, và sau đó nh?p vào Ok.
  8. Trên các C?u h?nh chia s? Trang, b?m đ? ch?n các S? c?u h?nh chia s? hộp kiểm.
  9. G? đư?ng d?n th? ch?t, tài kho?n ngư?i dùng và m?t kh?u mà b?n đ? nh?p trư?c đó, và sau đó nh?p vào Áp d?ng trong các Hành đ?ng c?a s?.
  10. Trong các M? hóa các phím m?t kh?u hộp thoại, g? m?t kh?u m? hóa quan tr?ng mà b?n thi?t l?p trư?c đó, và sau đó nh?p vào Ok.
  11. Trong các C?u h?nh chia s? hộp thoại h?p, b?m vào Ok.
  12. B?m chu?t Ok.
Trên m?i ngư?i trong s? các nút ch?n m?t c?m khác, s? d?ng c?u h?nh chia s? mà b?n ch? c?n xu?t kh?u đ? chia s? t?p tin:
  1. Đi?u hư?ng đ?n Công c? qu?n tr?, và sau đó nh?p vào Qu?n l? b?n ghi d?ch v? (IIS) thông tin Internet.
  2. Nh?p vào nút ch?n m?t tên máy (ứng dụng) phục vụ.
  3. Nh?p đúp vào các C?u h?nh chia s? bi?u tư?ng.
  4. Trên các C?u h?nh chia s? Trang, b?m đ? ch?n các S? c?u h?nh chia s? hộp kiểm.
  5. Lo?i đư?ng (chia s? t?p tin, v?t l?\\<fileserver>\<share></share></fileserver>), tài kho?n ngư?i dùng và m?t kh?u mà b?n đ? nh?p trư?c đó, và sau đó nh?p vào Áp d?ng trong các Hành đ?ng c?a s?.
  6. Trong các M? hóa các phím m?t kh?u hộp thoại, g? m?t kh?u m? hóa quan tr?ng mà b?n thi?t l?p trư?c đó, và sau đó nh?p vào Ok.
  7. Trong các C?u h?nh chia s? hộp thoại h?p, b?m vào Ok.
  8. B?m chu?t Ok.
Lưu ? Đ? bi?t thêm chi ti?t v? làm th? nào đ? t?p c?u h?nh chia s? trong IIS, ghé thăm Web site sau c?a Microsoft:
http://Learn.IIS.net/Page.aspx/264/Shared-configuration

C?u h?nh IIS t?p gián tuy?n cho c?u h?nh chia s? trên t?t c? các nút ch?n m?t c?m

Vào m?i c?m nút ch?n m?t, cho phép t?p gián tuy?n:
  1. cài đ?t chuyên bi?t nh?ng kinh nghi?m máy tính đ? bàn
    1. Đi?u hư?ng đ?n Công c? qu?n tr?, và sau đó nh?p vào Qu?n l? máy ch?.
    2. Trong ngăn bên trái, h?y nh?p vào Tính năng.
    3. B?m chu?t Thêm các tính năng in the right pane.
    4. Nh?n vào đây đ? ch?n các Máy tính đ? bàn kinh nghi?m hộp kiểm.
    5. B?m chu?t cài đ?t chuyên bi?t đ? cài đ?t chuyên bi?t máy tính đ? bàn kinh nghi?m.
    6. Kh?i đ?ng l?i máy tính.
  2. Trong Panel điều khiển, m? T?p gián tuy?n.
  3. B?m chu?t S? t?p gián tuy?n. Không kh?i đ?ng l?i máy tính t?i th?i đi?m này.
  4. Đ?m b?o r?ng b? nh? cache đư?c thi?t l?p đ? ch? đ?c. Đ? làm đi?u này, h?y ch?y l?nh sau trong m?t c?a s? cao cmd :
    REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v ReadOnlyCache /t REG_DWORD /d 1 /f 
    
  5. Kh?i đ?ng l?i máy tính.
  6. Duy?t đ?n máy ch? t?p tin t? máy tính. B?m chu?t ph?i vào ph?n có ch?a các c?u h?nh IIS chia s?, và sau đó nh?p vào Luôn s?n dùng gián tuy?n.
    Lưu ? n?u b?n thi?t l?p chia s? t?p tin đ? đánh giá cao có s?n trên c?m chuy?n đ?i d? ph?ng tương t? mà t? ch?c IIS nút ch?n m?t, tùy ch?n luôn s?n dùng gián tuy?n s? không xu?t hi?n khi b?n B?m chu?t ph?i vào ph?n n?u nút ch?n m?t c?m b?n đang ? trên lưu tr? máy ch? t?p tin cao có s?n. B?n s? c?n ph?i di chuy?n các ?ng d?ng máy ch? cao t?p tin có s?n đ? m?t nút ch?n m?t.
  7. Trong Panel điều khiển, m? T?p gián tuy?n. B?m chu?t M? Trung tâm Đ?ng b?, và sau đó nh?p vào L?ch tr?nh.
  8. L?ch tr?nh m?t đ?ng b? t?p gián tuy?n cho m?i ngày ho?c theo yêu c?u. B?n c?ng có th? c?u h?nh đ?ng b? di?n đàn đ? ch?y m?i vài phút. Ngay c? khi b?n không thi?t l?p m?t tr?nh lên l?ch, khi b?n thay đ?i m?t cái g? đó trong t?p tin Applicationhost.config, thay đ?i đư?c ph?n ánh trên các Máy ch? Web.
Lưu ? Đ? bi?t thêm chi ti?t v? làm th? nào đ? c?u h?nh t?p gián tuy?n cho m?t c?u h?nh chia s? trong IIS, ghé thăm Web site sau c?a Microsoft:
http://Learn.IIS.net/Page.aspx/212/offline-Files-for-Shared-configuration

h? sơ trang (bao g?m c? nhóm ứng dụng liên k?t), và xác đ?nh v? trí c?a n?i dung c?a nó vào m?t c?m nút ch?n m?t

T?m nút ch?n m?t c?m s? h?u ngu?n tài nguyên c?m sao đ?a nơi t?p tin n?i dung web site s? cư trú:
  1. Đi?u hư?ng đ?n Công c? qu?n tr?, và sau đó nh?p vào Ngư?i qu?n l? c?m chuy?n đ?i d? ph?ng.
  2. K?t n?i v?i c?m sao. N?u b?n đang trên m?t trong các nút ch?n m?t c?m, c?m sao s? xu?t hi?n trong danh sách t? đ?ng.
  3. Theo Lưu tr?, t?m các ngu?n tài nguyên đ?a mà n?i dung web site s? s?ng. Đ? làm đi?u này, m? r?ng các cây lưu tr? đ?a ngu?n. Đ?m b?o r?ng vi?c lưu tr? không đư?c s? d?ng b?i b?t k? ?ng d?ng khác s?n sàng cao trên c?m. B?n s? t?m th?y lưu tr? dư?i Lưu tr? có s?n.
  4. Lưu ? các nút ch?n m?t c?m sao mà tài nguyên này là tr?c tuy?n. B?n s? đ?t c?u h?nh IIS trên nút ch?n m?t c?m đó.
  5. Lưu ? tên tài nguyên c?m sao đ?a. B?n s? s? d?ng này cho các t?p tin n?i dung.
Trên nút ch?n m?t c?m mà các ngu?n tài nguyên là tr?c tuy?n, c?u h?nh Máy ch? Web s? d?ng đ?a chia s? n?i dung trang Web:
  1. Đi?u hư?ng đ?n Công c? qu?n tr?, và sau đó nh?p vào Qu?n l? b?n ghi d?ch v? (IIS) thông tin Internet.
  2. Trong ngăn bên trái, m? r?ng các nút ch?n m?t tên máy (ứng dụng) phục vụ.
  3. M? r?ng web site, và sau đó dư?i web site, b?m vào các web site mà b?n đang đ?t c?u h?nh.
  4. Trong ngăn bên ph?i, ch?n Thi?t đ?t chuyên sâu theo Qu?n l? web site.
  5. Xác đ?nh v? trí các V?t l? đư?ng d?n b?t đ?ng s?n theo T?ng quát cài đ?t chuyên bi?t, và sau đó g? trong v? trí nơi mà các web site n?i dung t?p tin đư?c đ?t. Đây là v? trí c?a các ngu?n tài nguyên c?m sao đ?a mà b?n lưu ? ? bư?c 5 c?a các th? t?c trư?c đó.
  6. B?m chu?t Ok.

C?u h?nh s?n sàng cao cho web site c?a b?n b?ng cách t?o ra m?t k?ch b?n chung trong qu?n l? c?m chuy?n đ?i d? ph?ng

Đ?i v?i bư?c cu?i cùng đ? c?u h?nh s?n sàng cao cho máy ch? IIS Web, thi?t l?p các ngu?n tài nguyên chung k?ch b?n s? đư?c s? d?ng đ? giám sát các web site và ?ng d?ng h? bơi cho các trang Web:
  1. Vào m?i nút ch?n m?t c?m, sao chép đo?n m? ? ph?n cu?i c?a bài vi?t này đ? Windows\System32\inetsrv\Clusweb7.vbs.
  2. theo m?c đ?nh, các t?p l?nh theo d?i m?t web site đư?c đ?t tên "m?c đ?nh trang web" và m?t nhóm ứng dụng đư?c đ?t tên là "DefaultAppPool". N?u đi?u này là không chính xác web site và ?ng d?ng h? bơi, thay đ?i các y?u t? SITE_NAMEAPP_POOL_NAME . Đ?m b?o cùng m?t web site và ?ng d?ng h? bơi trong k?ch b?n t?n t?i trên t?t c? các nút ch?n m?t c?m sao. Lưu ? r?ng tên ch?.
  3. Đi?u hư?ng đ?n Công c? qu?n tr?, và sau đó nh?p vào Ngư?i qu?n l? c?m chuy?n đ?i d? ph?ng.
  4. K?t n?i v?i c?m sao. N?u b?n đang trên m?t trong các nút ch?n m?t c?m, c?m sao s? xu?t hi?n trong danh sách t? đ?ng.
  5. B?m chu?t ph?i vào các nhóm, và sau đó nh?p vào Đ?t c?u h?nh m?t b?n ghi d?ch v? ho?c ?ng d?ng. M?t thu?t s? t?o ra kh?i lư?ng công vi?c s?n sàng cao.
  6. B?m chu?t K?ch b?n chung.
  7. Ch?n các t?p tin k?ch b?n t? đư?ng d?n sau đây: %systemroot%\System32\Inetsrv\clusweb7.vbs
  8. Thi?t l?p tên khách hàng truy c?p đi?m (CAP) tên web site mà khách hàng s? s? d?ng đ? k?t n?i v?i các web site s?n sàng cao. Ch? đ?nh IP t?nh đ? s? d?ng cho web site CAP. N?u b?n đang s? d?ng DHCP, tùy ch?n này s? không đư?c hi?n th?.
  9. Trên các Ch?n lưu tr? bư?c, ch?n c?m chia s? đ?a mà trên đó các web site n?i dung t?p tin n?m. Lưu tr? nên không s? d?ng b?t k? ?ng d?ng khác s?n sàng cao trên c?m. Lưu ? r?ng n?u chia s? t?p tin đư?c s? d?ng cho c?u h?nh chia s? IIS đư?c lưu tr? trên cùng m?t c?m, m?t ngu?n l?c đ?a khác nhau nên đư?c s? d?ng ? đây.
  10. Sau khi b?n xác nh?n các thi?t l?p, thu?t s? s? t?o nhóm c?m, tài nguyên c?m, và ph? thu?c gi?a các ngu?n l?c, và sau đó mang l?i cho các ngu?n tài nguyên tr?c tuy?n.
Lưu ? Đ? lưu tr? nhi?u s?n sàng cao web site trên c?m chuy?n đ?i d? ph?ng tương t?, h?y làm theo các bư?c tương t? như trên. Tuy nhiên, s? d?ng m?t t?p tin k?ch b?n khác nhau cho m?i web site và khác nhau lưu tr? nhóm chia s?. Ví d?, trong % systemroot%\System32\Inetsrv, s? d?ng clusweb7.vbs cho các web site đ?u tiên, clweb7-2.vbs cho phiên b?n th? hai, clweb7-3.vbs cho th? ba, và như v?y. M?i t?p l?nh theo d?i m?t web site khác nhau và ?ng d?ng h? bơi.

Quan tr?ngcác k?ch b?n m?u ch? nh?m m?c đích và không r? ràng đư?c h? tr? b?i Microsoft. S? d?ng k?ch b?n này trong m?t môi trư?ng nhóm IIS 7.0, IIS 7,5 ho?c IIS 8,0 là nguy cơ c?a riêng b?n.
'<begin script sample>


'This script provides high availability for IIS websites
'By default, it monitors the "Default Web Site" and "DefaultAppPool"
'To monitor another web site, change the SITE_NAME below
'To monitor another application pool, change the APP_POOL_NAME below
'More thorough and application-specific health monitoring logic can be added to the script if needed

Option Explicit

DIM SITE_NAME
DIM APP_POOL_NAME
Dim START_WEB_SITE
Dim START_APP_POOL
Dim SITES_SECTION_NAME
Dim APPLICATION_POOLS_SECTION_NAME
Dim CONFIG_APPHOST_ROOT
Dim STOP_WEB_SITE


'Note:
'Replace this with the site and application pool you want to configure high availability for
'Make sure that the same web site and application pool in the script exist on all cluster nodes. Note that the names are case-sensitive.
SITE_NAME = "Default Web Site"
APP_POOL_NAME = "DefaultAppPool"

START_WEB_SITE = 0
START_APP_POOL = 0
STOP_WEB_SITE  = 1
SITES_SECTION_NAME = "system.applicationHost/sites"
APPLICATION_POOLS_SECTION_NAME = "system.applicationHost/applicationPools"
CONFIG_APPHOST_ROOT = "MACHINE/WEBROOT/APPHOST"

'Helper script functions


'Find the index of the website on this node
Function FindSiteIndex(collection, siteName)

    Dim i

    FindSiteIndex = -1    

    For i = 0 To (CInt(collection.Count) - 1)
        If collection.Item(i).GetPropertyByName("name").Value = siteName Then
            FindSiteIndex = i
            Exit For
        End If		 
    Next

End Function


'Find the index of the application pool on this node
Function FindAppPoolIndex(collection, appPoolName)

    Dim i

    FindAppPoolIndex = -1    

    For i = 0 To (CInt(collection.Count) - 1)
        If collection.Item(i).GetPropertyByName("name").Value = appPoolName Then
            FindAppPoolIndex = i
            Exit For
        End If		 
    Next

End Function

'Get the state of the website
Function GetWebSiteState(adminManager, siteName)

    Dim sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod
    Set sitesSection = adminManager.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection

    index = FindSiteIndex(sitesSectionCollection, siteName)
    If index = -1 Then
        GetWebSiteState = -1
    End If	    

    Set siteSection = sitesSectionCollection(index)

    GetWebSiteState = siteSection.GetPropertyByName("state").Value

End Function

'Get the state of the ApplicationPool
Function GetAppPoolState(adminManager, appPool)

    Dim configSection, index, appPoolState

    set configSection = adminManager.GetAdminSection(APPLICATION_POOLS_SECTION_NAME, CONFIG_APPHOST_ROOT)
    index = FindAppPoolIndex(configSection.Collection, appPool)

    If index = -1 Then
        GetAppPoolState = -1
    End If	    

    GetAppPoolState = configSection.Collection.Item(index).GetPropertyByName("state").Value
End Function


'Start the w3svc service on this node
Function StartW3SVC()

    Dim objWmiProvider
    Dim objService
    Dim strServiceState
    Dim response

    'Check to see if the service is running
    set objWmiProvider = GetObject("winmgmts:/root/cimv2")
    set objService = objWmiProvider.get("win32_service='w3svc'")
    strServiceState = objService.state

    If ucase(strServiceState) = "RUNNING" Then
        StartW3SVC = True
    Else
        'If the service is not running, try to start it
        response = objService.StartService()

        'response = 0  or 10 indicates that the request to start was accepted
        If ( response <> 0 ) and ( response <> 10 ) Then
            StartW3SVC = False
        Else
            StartW3SVC = True
        End If
    End If
    
End Function


'Start the application pool for the website
Function StartAppPool()

    Dim ahwriter, appPoolsSection, appPoolsCollection, index, appPool, appPoolMethods, startMethod, callStartMethod
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")

    Set appPoolsSection = ahwriter.GetAdminSection(APPLICATION_POOLS_SECTION_NAME, CONFIG_APPHOST_ROOT)       
    Set appPoolsCollection = appPoolsSection.Collection

    index = FindAppPoolIndex(appPoolsCollection, APP_POOL_NAME)
    Set appPool = appPoolsCollection.Item(index)
    
    'See if it is already started
    If appPool.GetPropertyByName("state").Value = 1 Then
        StartAppPool = True
        Exit Function
    End If

    'Try To start the application pool
    Set appPoolMethods = appPool.Methods
    Set startMethod = appPoolMethods.Item(START_APP_POOL)
    Set callStartMethod = startMethod.CreateInstance()
    callStartMethod.Execute()
    
    'If started return true, otherwise return false
    If appPool.GetPropertyByName("state").Value = 1 Then
        StartAppPool = True
    Else
        StartAppPool = False
    End If

End Function


'Start the website
Function StartWebSite()

    Dim ahwriter, sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
    Set sitesSection = ahwriter.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection

    index = FindSiteIndex(sitesSectionCollection, SITE_NAME)
    Set siteSection = sitesSectionCollection(index)

    if siteSection.GetPropertyByName("state").Value = 1 Then
        'Site is already started
        StartWebSite = True
        Exit Function
    End If

    'Try to start site
    Set siteMethods = siteSection.Methods
    Set startMethod = siteMethods.Item(START_WEB_SITE)
    Set executeMethod = startMethod.CreateInstance()
    executeMethod.Execute()

    'Check to see if the site started, if not return false
    If siteSection.GetPropertyByName("state").Value = 1 Then
        StartWebSite = True
    Else
        StartWebSite = False
    End If

End Function


'Stop the website
Function StopWebSite()

    Dim ahwriter, sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod, autoStartProperty
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
    Set sitesSection = ahwriter.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection

    index = FindSiteIndex(sitesSectionCollection, SITE_NAME)
    Set siteSection = sitesSectionCollection(index)

    'Stop the site
    Set siteMethods = siteSection.Methods
    Set startMethod = siteMethods.Item(STOP_WEB_SITE)
    Set executeMethod = startMethod.CreateInstance()
    executeMethod.Execute()

End Function



'Cluster resource entry points. More details here:
'http://msdn.microsoft.com/en-us/library/aa372846(VS.85).aspx

'Cluster resource Online entry point
'Make sure the website and the application pool are started
Function Online( )

    Dim bOnline
    'Make sure w3svc is started
    bOnline = StartW3SVC()

    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because w3svc could not be started."
        Online = False
        Exit Function
    End If


    'Make sure the application pool is started
    bOnline = StartAppPool()
    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because the application pool could not be started."
        Online = False
        Exit Function
    End If


    'Make sure the website is started
    bOnline = StartWebSite()
    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because the web site could not be started."
        Online = False
        Exit Function
    End If

    Online = true 

End Function

 
'Cluster resource offline entry point
'Stop the website
Function Offline( )

    StopWebSite()
    Offline = true

End Function


'Cluster resource LooksAlive entry point
'Check for the health of the website and the application pool
Function LooksAlive( )

    Dim adminManager, appPoolState, configSection, i, appPoolName, appPool, index

    i = 0
    Set adminManager  = CreateObject("Microsoft.ApplicationHost.AdminManager")
    appPoolState = -1

    'Get the state of the website
    if GetWebSiteState(adminManager, SITE_NAME) <> 1 Then
        Resource.LogInformation "The resource failed because the " & SITE_NAME & " web site is not started."
        LooksAlive = false
        Exit Function
    End If


    'Get the state of the Application Pool
     if GetAppPoolState(adminManager, APP_POOL_NAME) <> 1 Then
         Resource.LogInformation "The resource failed because Application Pool " & APP_POOL_NAME & " is not started."
         LooksAlive = false  
	 Exit Function
     end if

     '  Web site and Application Pool state are valid return true
     LooksAlive = true
End Function


'Cluster resource IsAlive entry point
'Do the same health checks as LooksAlive
'If a more thorough than what we do in LooksAlive is required, this should be performed here
Function IsAlive()   

    IsAlive = LooksAlive

End Function


'Cluster resource Open entry point
Function Open()

    Open = true

End Function


'Cluster resource Close entry point
Function Close()

    Close = true

End Function


'Cluster resource Terminate entry point
Function Terminate()

    Terminate = true

End Function
'<end script sample>

Thu?c tính

ID c?a bài: 970759 - L?n xem xét sau cùng: 18 Tháng Ba 2013 - Xem xét l?i: 1.0
Áp d?ng
  • Microsoft Internet Information Services 8.0
  • Microsoft Internet Information Services 7.5
  • Microsoft Internet Information Services 7.0
  • Windows Server 2012 Datacenter
  • Windows Server 2012 Standard
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 Service Pack 2
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
T? khóa: 
kbclustering kbhowto kbsurveynew kbmt KB970759 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này: 970759

Cung cấp Phản hồi

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com