Cấu hình IIS 7 từ dòng lệnh bằng Appcmd.exe – Phần 1
Ngu
ồ
n:quantrimang.com.vn
David Davis
Quản trị mạng – Trong loạt bài này chúng tôi sẽ giới thiệu cho các bạn cách sử
dụng tiện ích dòng lệnh IIS 7.0 mới mang tên AppCmd.exe để truy vấn các đối
tượng trên máy chủ web và hiển thị đầu ra dưới dạng văn bản hay XML.
Giới thiệu
IS 7.0 cung cấp một công cụ dòng lệnh mới, AppCmd.exe, nhằm cho phép bạn
cấu hình và truy vấn các đối tượng trên máy chủ web của mình, sau đó hiển thị
đầu ra dưới dạng văn bản hoặc dạng XML. Trong phần thứ nhất của loạt bài
này, chúng tôi sẽ giới thiệu cho các bạn về công cụ này là gì, cách sử dụng nó
như thế nào và cách thực hiện các nhiệm vụ quản trị IIS chung như việc tạo các
site mới, dừng hay bắt đầu các dịch vụ và xem trạng thái của site.
AppCmd.exe có thể thực hiện những gì với việc quản trị IIS?
AppCmd.exe cho phép bạ
n thực hiện tất cả các chức năng quản lý điển hình
bằng cách sử dụng CLI thay cho GUI. Cho ví dụ, đây là một số thứ AppCmd.exe
có thể thực hiện:
• Start và stop IIS web site
• Tạo các ứng dụng, các thư mục ảo và các website IIS
• Hiển thị việc chạy các tiến trình IIS và liệt kê các yêu cầu đang thực thi
• Import, export và tìm kiếm các cấu hình IIS ASP.NET
Càng sử dụng tốt đầu ra của một lệnh AppCmd.exe, kết hợp nó với kịch bản
logic và sử dụng để thực hiện lệnh AppCmd.exe khác, bạn càng tạo được sức
mạnh hơn cho ứng dụng. Hay nói theo cách khác, trong khi sử dụng
AppCmd.exe để thực hiện một lệnh nào đó hoặc đặt lệnh đó vào một Shortcut
trên Desktop để thực hiện một lệnh hay sử d
ụng sẽ rất hữu dụng, bạn có thể tạo
rất nhiều chức năng khác nữa bằng cách sử dụng AppCmd.exe trong các kịch
ốn
của mình.
Những kiểu đối tượng ở đây là:
• Site – IIS virtual site
• App – IIS application
• Vdir – IIS virtual directory
• Apppool – IIS application pool
• Config – IIS general configuration
• Backup – IIS server configuration backups (bạn cũng có thể sử dụng lệnh
restore )
• Wp – IIS worker processes
• Request – active HTTP requests
• Module – IIS server administration modules
• Trace – IIS server trace logs
Như những gì bạn có thể thấy, có rất nhiều thứ bạn có thể thực hiện với
AppCmd.exe tuy nhiên nó không quá khó khăn nếu bạn sử dụng sự trợ giúp.
Sử dụng AppCmd.exe dễ dàng bằng trợ giúp
Chúng tôi đã nói rằng AppCmd.exe /? sẽ cho phép bạn có được sự trợ giúp về
AppCmd.exe. Bạn có thể lấy được các thông tin về các kiểu đối tượng bằng
cách đánh appcmd (object) /?
Đây là m
ột ví dụ:
Hình 1: Lấy thông tin trợ giúp cho một kiểu đối tượng AppCmd.exe
Cũng có thể lấy thêm nhiều thông tin trợ giúp cho các lệnh khác nhau trên và
mỗi kiểu đối tượng khác nhau. Điều này có nghĩa rằng có rất nhiều sự trợ giúp ở
đây dành cho bạn. Với 10 kiểu đối tượng khác nhau và tối thiểu 3+ các lệnh cho
mỗi một kiểu (list, add và delete là các lệnh thường xuyên), từ đó tính ra có đến
hơn 30 file trợ giúp khác nhau. Đây là mộ
t ví dụ về cách sử dụng sự trợ giúp,
Hình 4: Start Website bằng AppCmd.exe
Theo cách đó, việc stop một website cũng rất dễ dàng như
vậy.
2. Add thêm một website mới
Việc bổ sung thêm một website mới cũng hoàn toàn dễ dàng. Chỉ cần sử dụng:
Appcmd add sites /name:”Dave’s Site” /id:12
/
bindings:http://mysite.com:80
Như sau:
Hình 5: Bổ sung thêm một website bằng AppCmd
Cách này chỉ thêm một website mới, website đó có thể không hoàn toàn như một
site đã được bổ sung trong GUI trừ khi tất cả các tùy chọn lệnh được bổ sung
sau đó một ứng dụng được add cho nó. Để có được chức năng đầy đủ hơn của
IIS site, bạn hãy sử dụng hay lệnh dưới đây:
AppCmd add site /name:ddsite /id:99 /bindings:http/*:81:
/
physicalPath:C:\ddsite
AppCmd add app /site.name:DDSite /path:/ddapp
/
physicalPath:C:\sites\ddsite
3. Liệt kê các đối tượng với các thông tin nào đó
Sử dụng lệnh liệt kê hoàn toàn dễ dàng. Chúng tôi đã giới thiệu cho các bạn
cách liệt kê website của mình đang chạy trên máy chủ trong cách 1 ở trên. Lưu ý
trong phần đầu ra bạn có thể thấy được rằng các site có thể đang chạy hoặc
không chạy (trạng thái của các site). Bạn có thể liệt kê tất cả các đối tượng
(giống như site) với các thông tin nào đ
ó. Cho ví dụ, lệnh này sẽ liệt kê tất cả các
site được stop. Đây là một ví dụ về cách thực hiện đó: