Chúng tôi đã gặp một vấn đề trên IIS 7.5, nơi chúng tôi có một hệ thống triển khai đơn giản bao gồm:
Tạo một tệp zip của webroot mới, bao gồm ba thư mục:
Api
Site
Manager
Điều này được giải nén vào một thư mục mới (giả sử chúng ta gọi nó là "SITE_REV1") và chứa một tập lệnh gọi ra đoạn sau (một cho mỗi webroot):
C:\Windows\system32\inetsrv\appcmd set vdir "www.site.com/" -physicalPath:"SITE_REV1\Site"
Điều này thường làm việc, trong 9/10 lần. Trong một số trường hợp, webroot dường như được cập nhật chính xác (nếu tôi kiểm tra các cài đặt cơ bản trong Trình quản lý IIS, đường dẫn có vẻ chính xác), nhưng trang web đang chạy thực sự được chỉ đến vị trí cũ. Cách duy nhất chúng tôi đã quản lý để "sửa nó", là chạy lại thiết lập IIS. Nó không đủ để tái chế nhóm ứng dụng trong câu hỏi.
Đôi khi dường như thậm chí cần thiết để thực hiện khởi động lại, nhưng tôi không chắc chắn 100% đó là chính xác (không phải lúc nào tôi cũng tự khắc phục được sự cố).
Tôi đã viết lại tập lệnh bằng Powershell và mô-đun Quản trị web, hy vọng rằng có một trục trặc trong appcmd, nhưng vấn đề tương tự xảy ra.
Set-ItemProperty "IIS:\Sites\www.site.com" -Name physicalPath -Value "SITE_REV1\Site"
Có ai có kinh nghiệm như thế này? Có ai có manh mối về những gì đang xảy ra không, và tôi có thể thử và làm gì để ngăn chặn vấn đề này? Thực hiện thiết lập lại IIS không thực sự là một lựa chọn tốt cho chúng tôi, vì điều đó sẽ ảnh hưởng đến tất cả các trang web trên máy chủ mỗi khi chúng tôi thử và triển khai các thay đổi trên một trang web.
EDIT: Chúng tôi đã xác định rằng bắt đầu / dừng trang web (KHÔNG phải nhóm ứng dụng) trong IIS Manager sẽ giải quyết đường dẫn vật lý sai lầm, nhưng nếu tôi dừng trang web bằng appcmd, hãy thay đổi đường dẫn vật lý, sau đó khởi động nó, tôi vẫn bị những vấn đề tương tự Tôi đang trống ...