Конфигурация nginx

Тема в разделе "Администрирование серверов", создана пользователем SimWhite, 6 июн 2013.

Модераторы: mefish, stooper
  1. SimWhite

    SimWhite Постоялец

    Регистр.:
    4 ноя 2012
    Сообщения:
    64
    Симпатии:
    13
    Пробую работать с nginx, несколько нелогичное поведение сервера, подскажите что я делаю не так.

    1. Используется Wordpress, файл robots.txt генерируется, реально его не существует. Пытаюсь исключить его из логов конструкцией:
    Код:
    location = /robots.txt  { access_log off; log_not_found off; }
    Сервер начинает говорить что файла не существует, если убрать эту настройку, файл отдается нормально.

    2. Устанавливаю DokuWiki, в описалове рекомендуется настроить expires, вида:
    Код:
    location ^~ /lib/ {
       expires 30d;
    }
    После применения, все PHP-файлы лежащие в директории перестают передаваться на обработку php-fpm, сервер их начинает отдавать как обычный octet-stream.

    Возможно как-то решить данные проблемы?
     
  2. pointer

    pointer Создатель

    Регистр.:
    24 окт 2011
    Сообщения:
    14
    Симпатии:
    1
    попробуй так.

    Код:
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }
    а в мануале же
    Код:
      location ~ ^/lib.*\.(gif|png|ico|jpg)$ {
                    expires 31d;
            }
     
  3. ne4to

    ne4to Постоялец

    Регистр.:
    16 ноя 2012
    Сообщения:
    107
    Симпатии:
    50
    выложите полностью секцию server

    если у Вас директива root указанна не для сервера, то 404 вполне ожидаемое поведение
     
  4. SimWhite

    SimWhite Постоялец

    Регистр.:
    4 ноя 2012
    Сообщения:
    64
    Симпатии:
    13
    По поводу DokuWiki помогло, спасибо. Документацию я, кстати, брал здесь, поэтому был уверен в корректности. Подозревал, что что-то не так, но вроде как официальный сайт.

    По поводу Wordpress, похоже что дело было в самой генерации. Прописал как посоветовал pointer оно заработало, попробовал вернуть конфиг, осталось работать, похоже что-то из плагинов глючило. Всем спасибо за консультацию.

    Ну и раз зашла речь о nginx, дабы не плодить темы, интересуют еще какие-либо best practices по реализации защиты различных CMS.

    Ну например, происходит установка какого-либо плагина на WP или какой-нибудь CMS, оно прописывает .htaccess с каким-нибудь "deny all" на какую-нить диру, должен ли я прописывать аналогичные правила в nginx? Или это больше зависит от реализации кода?