Многих останавливает использовать nginx только из-за того, что он является сложным в настройке. На деле это не так. Многие думают, почему же листинг каталогов не выводится, или реврайт не работает. Всё банально просто – нужно настраивать параметры под каждый контейнер server {} в файле nginx.conf
Итак, поехали!
1) Сделать виртуальный сервер и указать root директорию для сайта:
location / { root /var/htdocs/mysite; index index.php index.html index.htm; }
2) Включить mod_rewrite. Необходимо добавить небольшую секцию к вашему локейшену, что бы она находилась под строчкой с указанием расширения root и расширения документов. Весь правильный локейшн:
location / { root /var/htdocs/mysite; index index.php index.html index.htm; if (!-e $request_filename) { rewrite ^(.*)$ /index.php; } }
То есть за работу mod_rewrite отвечает строчка:
if (!-e $request_filename) { rewrite ^(.*)$ /index.php;
3) Поехали дальше. Включим листинг папок root директории в server {}. Для этого нужно добавить новый локейшн:
location / { autoindex on; root /var/htdocs/mysite; }
Пока все. В дальнейшем напишу подробную инструкцию по тонкой настройке nginx. Удачи!