Назад | Перейти на главную страницу

Какое имя и расположение файла конфигурации Nginx (эквивалент htaccess)?

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

Вот что я знаю на данный момент:

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

Я использую 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{} block в nginx, но они тоже очень разные. nginx имеет гораздо более легкий подход к синтаксическому анализу конфигурации, и он не будет сканировать каталоги сайта для дополнительной настройки, идет только то, что видит nginx.conf.