2011-08-20 31 views
11

Tôi đang chạy Windows 7 SP 1 và vừa bật IIS 7. Chỉ cần cố gắng truy cập trang mặc định nó tạo ra lỗi 503 và hồ bơi ứng dụng dừng . Tôi tìm trong nhật ký sự kiện và tôi tìm thấy lỗi:Lỗi IIS 7 và 503 để truy cập bản sao tệp bị từ chối

Windows cannot copy file \?\C:\Users\Default\AppData\Local\Microsoft\Windows\Temporary Internet Files\SQM\iesqmdata_setup0.sqm to location \?\C:\Users\TEMP.IIS APPPOOL.000\AppData\Local\Microsoft\Windows\Temporary Internet Files\SQM\iesqmdata_setup0.sqm. This error may be caused by network problems or insufficient security rights.

DETAIL - Access is denied.

Tôi đã cố gắng tạo thư mục TEMP.IIS APPPOOOL.000 có sẵn cho tất cả mọi người. Tôi đã cố gắng cung cấp cho người dùng khả dụng cho mọi người. Không may mắn, nó vẫn chết với cùng một lỗi.

Điều gì đang xảy ra ở đây và cách khắc phục sự cố?

Trả lời

13

Có vẻ như bạn đang gặp sự cố tương tự như chi tiết trong số IIS.NET forums thread này. Bạn đã không đề cập đến nếu bạn có x64 Windows 7 hay không. Nghi ngờ rằng máy phát triển của bạn bị định cấu hình sai bằng cách nào đó; có vẻ như việc gỡ cài đặt và cài đặt lại IIS7 sẽ giúp/khắc phục.

đề nghị các khóa học của hành động:

  • Mở IIS và Application Pools của nó. Mở "DefaultAppPool" và bất kỳ Hồ bơi ứng dụng nào khác đang được sử dụng.
  • Nhấp vào Cài đặt nâng cao cho từng cài đặt này. Đảm bảo "Hồ sơ người dùng tải" được thiết lập để 'False'
  • Cũng đảm bảo rằng "Set Application Pool Defaults" đã Profile Nạp tài khoản thiết lập để False."
+4

Tôi đã gặp vấn đề tương tự, bây giờ, vài năm sau khi câu hỏi này được hỏi và đó là về tệp sqm không thể sao chép được. Vì tôi không coi tập tin này quan trọng nên tôi đã xóa nó đi. Bây giờ hồ bơi ứng dụng của tôi không dừng lại và tôi đã không thực hiện sửa đổi đối với bất kỳ cài đặt nào. –

1

tôi gặp phải cùng một vấn đề trong phát triển của tôi môi trường (Windows 8.1) Thay vì vô hiệu hóa hồ sơ người dùng tải như đề nghị của P.Campbell, tôi đã đi trước và thay đổi sự cho phép của tập tin sqm để cho phép sửa đổi truy cập cho IUSR, IIS_IUSRS và dịch vụ mạng.Trong trường hợp của tôi, tệp sqm không thể hiển thị cho tôi chủ sở hữu tệp mà tôi đã chuyển sang tài khoản người dùng của mình trong đó tôi đã chuyển sang tài khoản người dùng của mình. es/thư mục.

0

Sau khi đấu tranh với tất cả các vấn đề trong Hồ bơi ứng dụng trong II, tôi đã tìm thấy vấn đề và giải pháp. Điều này có thể giúp bạn.

Mỗi nhóm ứng dụng trên mỗi trang web trong Máy chủ thông tin Internet của Microsoft tạo tài khoản người dùng và thư mục của riêng mình trong thư mục "c: \ Users" khi hồ bơi được tạo và chạy lần đầu tiên. Nó thực sự là một tài khoản người dùng ảo và nên được đặt tên cho Application Pool được gán cho ứng dụng web của bạn trong IIs. Trong hầu hết các môi trường phát triển, trang web mặc định của nó hoặc "DefaultAppPool". Nó sử dụng tài khoản người dùng tạm thời này để chạy hồ bơi. Mỗi trang web phải có một tài khoản người dùng được đặt tên theo nhóm. Thư mục User này được sử dụng bởi pool và ASP.NET để lưu trữ và viết các tài nguyên tập tin và những thứ khác được sử dụng bởi IIs, ASP.NET, và tài khoản ảo này.

Trong một số thiết lập, mọi người không thấy thư mục này nhưng thư mục "TEMP" (như bạn có) khi trang web II được truy cập và sử dụng hồ bơi.

Nếu bạn thay vào đó thấy thư mục "TEMP" trong thư mục Người dùng, bạn có tài khoản hồ bơi ứng dụng bị hỏng trong II và trong Cơ quan đăng ký. Hồ bơi đang tạo thư mục TEMP làm bản sao lưu cho tài khoản ảo này, có thể không có thiết lập bảo mật phù hợp. Tôi đã có kịch bản chính xác này.

Để khắc phục nó đi để đăng ký dưới: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList Xem nếu bạn có một tài khoản người dùng SID với phần mở rộng "bak" cho một tài khoản người dùng DefaultAppPool. Nếu vậy hãy xóa nó và khởi động lại PC của bạn. Kiểm tra trang web của bạn một lần nữa, đảm bảo thiết lập thực sự của nó để sử dụng DefaulAppPool. Bây giờ nó sẽ tạo lại thư mục "DefaultAppPool" trong Users, tạo lại mục đăng ký cho người dùng DefaulAppPool và lỗi của bạn sẽ biến mất.

Bạn có thể xóa thư mục người dùng TEMP tại điểm đó trong thư mục Người dùng. (Hãy ghi nhớ nếu ứng dụng web của bạn đã lưu trữ thông tin được lưu vào bộ nhớ cache quan trọng đối với người dùng trang web, một số có thể phải được chèn vào thư mục người dùng DefaultAppPool mới. Nhưng đối với hầu hết chúng ta, chỉ cần xóa nó.)

Tôi cũng tìm thấy tôi phải thêm tài khoản pool ứng dụng ảo kooky này vào cơ sở dữ liệu cục bộ của mình để quy trình công nhân và ứng dụng accnt có thể có quyền lấy dữ liệu từ SQL Server: Chỉ cần vào SQL Server và đăng nhập thêm "IIs AppPool \ DefaultAppPool "và sau đó gán nó làm người dùng cho cơ sở dữ liệu của bạn.

(btw bất cứ ai mơ lên ​​hệ thống ứng dụng ảo tài khoản hồ bơi này là hạt .... cách của nó quá phức tạp và phức tạp để sắp xếp ra)

Sau khi tôi đã làm điều này, tất cả các lỗi tràn stack của tôi ra đi trong Visual Studio đối với ứng dụng web của tôi, tất cả các kết nối dữ liệu được kích hoạt hoàn toàn, tất cả các quyền ghi vào hồ sơ người dùng mặc định được lưu trữ đúng cách và tất cả việc khởi động lại và treo Hồ bơi ứng dụng trong II kết thúc hoàn toàn. :)

Các vấn đề liên quan