เราเจอปัญหาใน IIS 7.5 ที่เรามีระบบการปรับใช้อย่างง่ายซึ่งประกอบด้วยสิ่งต่อไปนี้:
สร้างไฟล์ zip ของ webroot ใหม่ประกอบด้วยสามโฟลเดอร์:
Api
Site
Manager
นี่คือการคลายซิปลงในโฟลเดอร์ใหม่ (สมมติว่าเราเรียกมันว่า "SITE_REV1") และมีสคริปต์ที่เรียกใช้สิ่งต่อไปนี้ (หนึ่งรายการสำหรับแต่ละเว็บรูท):
C:\Windows\system32\inetsrv\appcmd set vdir "www.site.com/" -physicalPath:"SITE_REV1\Site"
โดยปกติจะใช้งานได้ใน 9/10 ครั้ง ในบางกรณี webroot ดูเหมือนว่าจะได้รับการปรับปรุงอย่างถูกต้อง (ถ้าฉันตรวจสอบการตั้งค่าพื้นฐานใน IIS Manager เส้นทางดูถูกต้อง) แต่เว็บไซต์ที่กำลังทำงานอยู่นั้นถูกชี้ไปที่ตำแหน่งเดิมจริงๆ วิธีเดียวที่เราจัดการเพื่อ "แก้ไข" คือการเรียกใช้การรีเซ็ต IIS การรีไซเคิลแอปพลิเคชันที่เป็นปัญหาไม่เพียงพอ
บางครั้งดูเหมือนว่าจำเป็นต้องทำการรีบู๊ต แต่ฉันไม่แน่ใจ 100% ว่าถูกต้อง (ไม่ได้เป็นตัวของตัวเองเสมอว่ากำลังแก้ไขปัญหา)
ฉันเขียนสคริปต์ใหม่โดยใช้ Powershell และโมดูล Web-Administration โดยหวังว่าจะมีข้อผิดพลาดใน appcmd แต่เกิดปัญหาเดียวกัน
Set-ItemProperty "IIS:\Sites\www.site.com" -Name physicalPath -Value "SITE_REV1\Site"
มีใครเคยมีประสบการณ์แบบนี้บ้างไหม? มีใครบ้างที่รู้ว่าเกิดอะไรขึ้นและฉันสามารถลองทำอะไรได้บ้างเพื่อป้องกันปัญหานี้ การรีเซ็ต IIS ไม่ได้เป็นตัวเลือกที่ดีสำหรับเราเพราะมันจะส่งผลต่อทุกไซต์บนเซิร์ฟเวอร์ทุกครั้งที่เราลองและปรับใช้การเปลี่ยนแปลงในไซต์เดียว
แก้ไข: เราได้ระบุว่าการเริ่ม / หยุดของไซต์ (ไม่ใช่กลุ่มแอปพลิเคชัน) ใน IIS Manager จะแก้ไขเส้นทางที่ผิดพลาด แต่ถ้าฉันหยุดไซต์โดยใช้ appcmd ให้เปลี่ยนเส้นทางจริงแล้วเริ่มใหม่ฉันยังคงทุกข์ทรมานจาก ปัญหาเดียวกัน ฉันว่างเปล่า ...