Cấu hình IIS 7 từ dòng lệnh bằng Appcmd.exe – Phần 1

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 bản quản trị IIS phức tạp hơn.

Đây chỉ là một số ứng dụng điển hình cho việc sử dụng AppCmd.exe:

  • Start & Stop IIS site từ dòng lệnh
  • Tạo một IIS website mới hoặc thư mục ảo (hoặc tạo một thay đổi nào đó về cấu hình IIS)
  • Backup cấu hình IIS
  • Export cấu hình IIS

Cách sử dụng AppCmd.exe

Có một số thứ bạn cần biết trong sử dụng AppCmd, ngay cả trước khi bạn thực thi lệnh AppCmd.exe đầu tiên.

  1. Bạn phải cài đặt IIS 7.x để được hỗ trợ lệnh AppCmd.exe
  2. Cần biết vị trí lệnh AppCmd.exe được đặt vì nó không nằm trong đường dẫn mặc định. Để chạy AppCmd.exe, bạn có thể dùng cách thay đổi thư mục thành %windir%\system32\inetsrv\ hoặc bổ sung thêm thư mục đó vào biến đường dẫn của mình. Trên máy chủ Windows 2008 của chúng tôi với cài đặt mặc đinh. AppCmd.exe được định vị trong C:\Windows\System32\inetsrv.

Giống như các lệnh khác của Windows, bạn có thể sử dụng những kiến thức cơ bản về sử dụng lệnh bằng cách đánh AppCmd.exe /?

Khi đó bạn sẽ thấy layout của lệnh nói chung như sau:

APPCMD (command) (object-type) <identifier> < /parameter1:value1 ... >*

Lưu ý: Không quá lo lắng về độ phức tạp của lệnh này - AppCmd.exe rất dễ dàng cho sử dụng. Chúng tôi sẽ giới thiệu cho các bạn cách sử dụng như thế nào.

Các lệnh cơ bản được sử dụng với AppCmd.exe là start, stop, list, add, delete, set. Điển hình mỗi một trong các lệnh này sẽ được sử dụng với một kiểu đối tượng mà bạn sẽ yêu cầu AppCmd.exe thực hiện chức năng được mong muố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, chúng giúp chúng ta biết được những gì có thể thực hiện với lệnh add và lệnh vdir cùng nhau:

Hình 2: Lấy các thông tin trợ giúp với các tùy chọn add và vdir của AppCmd.exe

Nếu sử dụng trợ giúp “/?” và liệt kê các lệnh từng bước thì sẽ có các hướng dẫn giúp bạn thực hiện bất cứ nhiệm vụ nào mà bạn muốn thực hiện với AppCmd.exe.

5 cách bạn có thể sử dụng AppCmd.exe để làm cho nhiệm vụ quản trị website IIS dễ dàng

Bảo đảm rằng mọi thứ có thể thực hiện trong IIS management MMC (GUI) đều có thể thực hiện với AppCmd.exe ở nhắc lệnh nhưng các giao diện GUI cũng có những nhược điểm của nó. Để đặt một vài tên – với GUI bạn không thể thực hiện các nhiệm vụ lặp đi lặp lại (giống như một Windows Desktop Shortcut) cũng không thể sử dụng đầu ra từ một đầu ra AppCmd.exe và gửi nó đến một AppCmd Action.

Đây là 5 cách sử dụng AppCmd.exe nhằm làm cho nhiệm vụ quản trị website IIS của bạn trở nên dễ dàng hơn:

1. Start and Stop IIS website từ dòng lệnh

Đây quả thực là một nhiệm vụ đơn giản nếu bạn không biết tên site của mình, chỉ cần thực hiện:

Appcmd list sites

Hình 3: Liệt kê các site bằng cách sử dụng AppCmd.exe

Lúc này bạn sẽ biết được những site gì mình có và có thể start hay stop IIS web site như sau:

Appcmd start sites “Default Web Site”
(hoặc bất cứ site nào bạn muốn start)

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 đó:

Hình 6: Hiển thị tất cả các IIS website có trạng thái nào đó

4. Backup cấu hình IIS

AppCmd.exe có thể backup cấu hình IIS bằng cách sử dụng lệnh add backup. Bạn cũng có thể liệt kê các lệnh của mình bằng lệnh list backuprestore backup có thể đưa dữ liệu backup trở lại nơi cần thiết nó bằng lệnh.

Bên dướu bạn có thể thấy chúng tôi đã backup cấu hình IIS của mình lại và sau đó liệt kê những backup nào đang hiện hữu sau đó.

Hình 7: Backup cấu hình IIS

5. Báo cáo về cấu hình IIS

AppCmd có sức mạnh trong việc báo cáo các cấu hình IIS và export cấu hình vào một file văn bản. Để thực hiện điều đó, bạn chỉ cần chạy:

Appcmd list site “sitename” /config

Đây là những gì đầu ra của quá trình thực hiện:

Hình 8: Liệt kê cấu hình IIS website

Kết luận

AppCmd.exe quả thực là một công cụ dòng lệnh cho hữu dụng cho IIS 7.x. AppCmd.exe có thể nói thực hiện được tất cả các công việc cấu hình website IIS từ dòng lệnh. Nó hỗ trợ đắc lực cho các nhà quản trị Windows / IIS web nhằm biết được cách sử dụng đúng nó nhằm thực hiện một cách nhanh chóng các nhiệm vụ chung về IIS. Trong bài viết này, bạn không những biết được AppCmd.exe là gì mà còn biết được tất cả những gì nó có thể thực hiện cho bạn trong thế

Thứ Tư, 11/03/2009 08:34
31 👨 6.669
0 Bình luận
Sắp xếp theo
    ❖ Kiến thức cơ bản