Các triệu chứng của trận đấu vấn đề của tôi câu hỏi này khá nhiều chính xác: Changed static files are cropped/padded to the new size and served the old - FedoraServer được phục vụ các phiên bản cũ của tập tin tĩnh, nhưng tỉa hoặc đệm để phù hợp với chiều dài của phiên bản mới
Bất cứ khi nào tôi có thay đổi các tập tin tĩnh của tôi (ví dụ. js và .css), những thay đổi đó không hiển thị trong tệp được phân phối. Tuy nhiên, nếu thay đổi của tôi gây ra các tập tin để thay đổi chiều dài, sau đó các tập tin phục vụ không phù hợp với chiều dài mới:
- Nếu tôi xóa ký tự từ bất cứ nơi nào trong file tĩnh, sau đó các tập tin phục vụ được tỉa ở cuối bởi nhiều nhân vật.
- Nếu tôi thêm ký tự vào bất kỳ vị trí nào trong tệp tĩnh, thì tệp được phân phối sẽ được đệm với nhiều ký tự (đó là U + FFFD) ở cuối.
Lý do câu trả lời được liên kết không giải quyết được sự cố của tôi là tôi không sử dụng Apache. Tôi đang viết một ứng dụng web Python cho Heroku, vì vậy tôi đang sử dụng gunicorn và Flask (và do đó Werkzeug). Câu trả lời được liên kết nói rằng việc vô hiệu hóa sendfile trong Apache đã giải quyết được vấn đề, vì vậy tôi đã thử đặt biến 'USE_X_SENDFILE' thành False, theo this page, nhưng nó không giúp ích gì. Tôi cũng đặt 'SEND_FILE_MAX_AGE_DEFAULT' thành 1 trong một nỗ lực nữa để ngăn chặn một số loại bộ nhớ đệm xảy ra và điều đó cũng không giúp ích gì.
Nếu không rõ ràng, tôi thực sự không biết gì nhiều về định cấu hình máy chủ web, vì vậy, khi chạy hết các lần truy cập Google có liên quan, tôi không biết những gì có thể gây ra điều này. Cứu giúp?
đó là sự cố 'sendfile' của hộp ảo. xem thêm http://serverfault.com/questions/269420/disable-caching-when-serving-static-files-with-nginx-for-development và http://stackoverflow.com/questions/6886606/changed-static- các tệp được cắt xén-đệm-thành-mới-kích thước-và-được-phục-vụ-cũ và http://abitwiser.wordpress.com/2011/02/24/virtualbox-hates-sendfile/ – Alp
I thấy cùng một vấn đề. Nó không có mặt khi chạy máy chủ phát triển với Flask, chỉ khi sử dụng gunicorn. Tôi đang sử dụng Vagrant để quản lý VirtualBox VM. Tôi không chạy nginx hoặc Apache, không chắc chắn nếu có một tùy chọn để vô hiệu hóa sendfile trong gunicorn (nếu nó thậm chí là một tùy chọn). – Alex