Много учебные пособия о том, как писать правила перезаписи Nginx, чтобы имитировать файл Apache .htaccess, но я не могу с уверенностью сказать, что знаю имя или расположение этого так называемого файла конфигурации Nginx на самом деле. Я специально ищу файл конфигурации Nginx, который позволяет вам писать путь к серверу и директивы PHP. Я использую Ubuntu 12 linux и Codeigniter в качестве своей PHP-среды.
Вот что я знаю на данный момент:
/etc/nginx/nginx.conf
несмотря на его заманчивое название, явно не место для директив сервера./etc/nginx/sites-available/default
похоже на то, что мне нужно (я могу генерировать ошибки php, характерные для моего приложения), но я не могу правильно настроить маршрутизацию пути, специфичную для Codeigniter. Прежде всего, является ли это эквивалентом файла конфигурации / .htaccess, о котором все говорят?Я использую PHP с nginx на своем сервере разработки со следующей конфигурацией:
в /etc/nginx/nginx.conf
Я добавил: include /etc/nginx/sites-enabled/*;
перед последним }
.
выполните следующие команды, чтобы создать конфигурации вашего сайта:
mkdir /etc/nginx/sites-available/
mkdir /etc/nginx/sites-enabled/
cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/<site>
отредактируйте конфигурацию сайта, некоторые возможные конфигурации (это то, что я упомянул в своей настройке): http://kbeezie.com/view/nginx-configuration-examples/
ссылка на доступный сайт, чтобы включить его
ln -s /etc/nginx/sites-available/<site> /etc/nginx/sites-enabled/<site>
имейте в виду, что вы можете фактически включать файлы в конфигурации почти где угодно, это упрощает создание нескольких сайтов, когда вы хотите объединить похожие конфигурации.
Да, .htaccess можно сравнить с server{}
block в nginx, но они тоже очень разные. nginx имеет гораздо более легкий подход к синтаксическому анализу конфигурации, и он не будет сканировать каталоги сайта для дополнительной настройки, идет только то, что видит nginx.conf.