Điểm:1

Bộ nhớ đệm tệp tĩnh Nginx từ các thư mục khác nhau

lá cờ cn

Vấn đề là nginx không hiển thị hình ảnh và hiển thị 404 không tìm thấy trên một số thư mục. Khi tôi xóa bộ nhớ đệm khỏi cấu hình, mọi thứ đều hoạt động tốt. Đang cố định cấu hình nginx để lưu trữ các tệp tĩnh với cấu hình này

vị trí ~* \.(?:css|cur|js|jpg|jpeg|webp|gif|htc|ico|png|html|xml|otf|ttf|eot|woff|woff2|svg)$ {

                hết hạn 1 năm;
                truy cập_đăng xuất;
                add_header Kiểm soát bộ đệm "công khai";
                tắt tcp_nodelay;
                open_file_cache max=3000 không hoạt động=120 giây;
                open_file_cache_valid 45 giây;
                open_file_cache_min_uses 2;
                open_file_cache_errors tắt;
}
        # truyền tập lệnh PHP tới máy chủ FastCGI
        vị trí ~ \.php$ {
                bao gồm đoạn trích/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
                bao gồm fastcgi_params;
                bật fastcgi_intercept_errors;
        }
  địa điểm / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

đây là nhật ký lỗi

    2021/08/17 11:08:10 [lỗi] 278986#278986: *3642 open() "/var/www/website/public/cache/medium/product/347/rC0dMIdOJIJNSmpKgm9pVqKVE59HKAl8SKujwxHF.jpg" không thành công (2: Không tệp hoặc thư mục), máy khách: 95.85.108.178, máy chủ: ozan.com.tm, yêu cầu: "NHẬN /cache/medium/produ
ct/347/rC0dMIdOJIJNSmpKgm9pVqKVE59HKAl8SKujwxHF.jpg HTTP/2.0", máy chủ lưu trữ: "www.website.tm", liên kết giới thiệu: "https://www.website.tm/"

nginx hiển thị hình ảnh từ nguồn: https://website.tm/storage/velocity/category_icon_path/77/5wiasmLf6hQGAsjsTV4jXsjnG0ELm5ak0rgpV7c2.png

nginx không hiển thị từ: https://website.tm/cache/medium/product/353/jtTzvdT8ZmB6Lu7wFKj969Uzj0qqu1qRUt2CxEbz.jpg

CodingInTheUK avatar
lá cờ cn
Mục đích của bộ nhớ cache hình ảnh là gì? Như bạn đã nói, chúng là nội dung tĩnh. Tôi có thể sai ở đây và nếu tôi sai, tôi hy vọng ai đó sẽ sửa lỗi cho tôi nhưng tôi tin rằng bạn chỉ cần lưu vào bộ đệm nội dung "động". Giả sử các trang web của bạn đến từ một cơ sở dữ liệu, bạn sẽ lưu vào bộ nhớ cache các trang không thường xuyên thay đổi để ngăn việc tạo lại trang sau mỗi lần tải để tăng tốc độ tải. Những hình ảnh trong tâm trí tôi giống với nguồn gốc hoặc bộ đệm, trừ khi bạn đang tạo các hình ảnh nhỏ hơn một cách nhanh chóng. Sau đó, có bộ đệm những cái đó.
CodingInTheUK avatar
lá cờ cn
Bạn có thể thấy điều này hữu ích: https://serverfault.com/questions/861565/nginx-cache-images-generated-by-backend
Michael Hampton avatar
lá cờ cz
Thật vậy, có rất ít điểm để lưu lại các tài sản tĩnh vào bộ đệm vì chúng đã được hệ điều hành lưu vào bộ nhớ đệm cho bạn và nginx chỉ đang ghi một bản sao thứ hai trên đĩa mà sau đó nó phải dành thêm thời gian để tìm kiếm.
Điểm:1
lá cờ us

Khối vị trí hình ảnh của bạn bị thiếu try_files chỉ thị, cho biết nginx sẽ phục vụ những yêu cầu nào đến vị trí đó.

cộng

try_files $uri $uri/ =404;

đến địa điểm chặn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.