Hay muchos tutoriales sobre cómo escribir reglas de reescritura de Nginx para imitar el archivo .htaccess de Apache, pero no puedo decir con seguridad que sé cuál es el nombre o la ubicación de este llamado archivo de configuración de Nginx. Estoy buscando específicamente el archivo de configuración de Nginx que le permite escribir la ruta del servidor y las directivas PHP. Estoy usando Ubuntu 12 Linux y Codeigniter como mi marco PHP.
Esto es lo que sé hasta ahora:
- Este archivo: a
/etc/nginx/nginx.conf
pesar de su nombre atractivo, aparentemente no es el lugar para las directivas del servidor. - Este archivo:
/etc/nginx/sites-available/default
parece lo que necesito (soy capaz de generar errores de php específicos para mi aplicación) pero no puedo obtener la ruta de ruta específica de Codeigniter correcta. En primer lugar, ¿es este el archivo "config" / equivalente de .htaccess del que todos hablan?
php
apache-2.2
.htaccess
codeigniter
nginx
Tim Peterson
fuente
fuente
nginx -V
que puede encontrar en el manual conman nginx
. La-V
opción está documentada como "-V Imprime la versión nginx, la versión del compilador y configura los parámetros del script". Singinx
no está en su camino, use elwhich nginx
que devuelve el camino completo a nginx$(which nginx) -V
Respuestas:
Utilizo PHP con nginx en mi servidor de desarrollo con la siguiente configuración:
en la
/etc/nginx/nginx.conf
que ha añadido:include /etc/nginx/sites-enabled/*;
antes de la última}
.ejecute los siguientes comandos para crear las configuraciones de su sitio:
edite la configuración del sitio, algunas configuraciones posibles (esto es a lo que me referí en mi configuración): http://kbeezie.com/view/nginx-configuration-examples/
enlace al sitio disponible para habilitarlo
tenga en cuenta que en realidad puede incluir archivos dentro de las configuraciones en casi cualquier lugar, esto facilita la creación de múltiples sitios cuando desea agrupar configuraciones similares.
Sí, .htaccess es comparable al
server{}
bloque en nginx, pero también son muy diferentes. nginx tiene un enfoque mucho más liviano para analizar la configuración, y no escaneará los directorios del sitio en busca de configuración adicional, solo lo que sea visto por nginx.conf.fuente
/etc/nginx/nginx.conf
archivo ya tieneinclude /etc/nginx/sites-enabled/*;
al final. Parece que estos 2 archivos están hablando entre sí en mi servidor y ahora estoy lidiando con problemas específicos de Codeigniter. ¿Estás usando codeigniter? Hay un poco de funkiness en el camino que necesito controlar ...root
parámetro. No dude en consultar mis preguntas si necesita inspiración.