Как называется и где находится файл конфигурации Nginx (эквивалент htaccess)?

Существует множество руководств по написанию правил перезаписи Nginx для имитации файла.htaccess в Apache, но я не могу с уверенностью сказать, что знаю, каково на самом деле имя или местоположение этого так называемого файла конфигурации Nginx. Я специально ищу конфигурационный файл Nginx, который позволяет вам писать путь к серверу и директивы PHP. Я использую Ubuntu 12 linux и Codeigniter в качестве своего PHP фреймворка.

Вот что я знаю до сих пор:

  1. Этот файл: /etc/nginx/nginx.conf несмотря на его заманчивое имя, очевидно, не место для директив сервера.
  2. Этот файл: /etc/nginx/sites-available/default кажется, что мне нужно (я могу генерировать ошибки php, специфичные для моего приложения), но я не могу получить правильную маршрутизацию пути, специфичную для Codeigniter. Прежде всего, является ли этот файл "config" /.htaccess эквивалентом, о котором все говорят?

1 ответ

Я использую PHP с nginx на моем сервере разработки со следующей конфигурацией:

  1. в /etc/nginx/nginx.conf Я добавил: include /etc/nginx/sites-enabled/*; до последнего },

  2. выполните следующие команды для создания конфигурации вашего сайта:

    mkdir /etc/nginx/sites-available/
    mkdir /etc/nginx/sites-enabled/
    cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/<site>
    
  3. отредактируйте конфигурацию сайта, некоторые возможные конфигурации (это то, что я упоминал в моей настройке): http://kbeezie.com/view/nginx-configuration-examples/

  4. ссылка на доступный сайт, чтобы включить его

    ln -s /etc/nginx/sites-available/<site> /etc/nginx/sites-enabled/<site>
    
  5. имейте в виду, что вы можете включать файлы в конфигурации практически в любом месте, это позволяет легко создавать несколько сайтов, когда вы хотите объединить одинаковые конфигурации.

Да, .htaccess сопоставим с server{} блок в nginx, но они тоже очень разные. У nginx гораздо более простой подход к разбору конфигурации, и он не будет сканировать каталоги сайтов на предмет дополнительной конфигурации, только то, что видит nginx.conf.

Другие вопросы по тегам