Nano Hash - криптовалюты, майнинг, программирование

Как обслуживать статический файл с помощью nginx

Я переключаюсь с Apache на Nginx, и с apache все статические файлы (изображения, css, javascript) в папках скинов обслуживаются Apache напрямую.

Пример :

DocumentRoot    /zope/z_france_velo_tourisme/france-velo-tourisme/src
RewriteRule  ^/images-fvt/(.*) /fvt.commun/fvt/commun/skins/fvt_commun_images/images-fvt/$1 [L]

Я читал некоторые документы о Nginx и Plone, и я этого не видел. Вот пример из Plone.org conf: https://github.com/plone/plone-org-nginx/blob/master/nginx.conf

Итак, мой вопрос: по-прежнему ли рекомендуется обслуживать статические файлы с помощью Apache/Nginx, и если да, то как это сделать с Nginx?

Я пробовал такую ​​конфигурацию, но она не сработала, я получаю ошибку 404:

root /zope/z_france_velo_tourisme/france-velo-tourisme/src;
rewrite ^/images-fvt/(.*)$ /fvt.commun/fvt/commun/skins/fvt_commun_images/images-fvt/$1;

Я также пробовал это (чтобы избежать корневой директивы), но тоже получил 404:

rewrite ^/images-fvt/(.*)$ /zope/z_france_velo_tourisme/france-velo-tourisme/src/fvt.commun/fvt/commun/skins/fvt_commun_images/images-fvt/$1;

Спасибо.

24.12.2013

  • во-первых, о каком виртуальном сервере идет речь? server_name localhost plone.org;? 24.12.2013
  • Apache/Nginx будет намного быстрее обслуживать статические файлы, чем ваше веб-приложение. В конце концов, его работа — быстро обслуживать файлы. 24.12.2013
  • @MohammadAbuShady да, этот пример - часть plone. 24.12.2013
  • @MikeCauser Конечно, но как мне это сделать? 24.12.2013

Ответы:


1

Позвольте мне сосредоточиться на том, что, по моему мнению, является ядром вашего вопроса: «По-прежнему ли рекомендуется обслуживать статические файлы с помощью Apache/Nginx…?»

Предполагая, что вы используете механизм кэширования прокси, обычно это будет напрасная оптимизация, которая только усложнит вашу конфигурацию.

Вместо этого сначала посетите настройки своего сайта и включите соответствующее HTTP-кэширование. Даже минимальные настройки приведут к тому, что статические ресурсы будут обслуживаться с заголовками, требующими длительного времени истечения срока действия. При нормальных обстоятельствах это будет означать, что ваш экземпляр zope/plone очень редко обслуживает статический ресурс.

Либо настройте кеширование прокси внутри Nginx, либо — если вам нужна серьезная производительность — настройте Varnish. Или используйте кэширующий CDN, такой как Cloudflare.

Выгоды, которые вы получите, потратив время на внедрение кэширования, скорее всего, значительно перевесят любые выгоды, которые вы получите от настройки альтернативного механизма статических файлов.

24.12.2013
  • спасибо, это мне очень помогает. Я посмотрю на Varnish и cloudflare. 13.01.2014

  • 2
    server {
        listen 433 ssl;
        server_name plone.org
    
        root /path/to/virtual/server/folder;
        location / {
            proxy_pass http://whatever;
        }
        location ~^ (images|css|js|anything)/ {
    
        }
    }
    

    что-то вроде этого должно работать, если у вас есть активы в нужном месте.

    24.12.2013
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..