Problemas de configuración de Nginx 1.8

Problemas de configuración de Nginx 1.8

Aquí está el problema: (Soy nuevo en NGinx, leí sobre esto, pero aún no encontré mi solución funcional).

Estoy en un sistema Windows.

El sistema de archivos de mis proyectos se encuentra allí:

E:/www/

Aquí hay una carpeta de proyecto a la que intentaré acceder más adelante en este ejemplo:

E:/www/projectTest

Tengo un servidor apache funcionando bien. Me gustaría configurar un servidor Nginx en paralelo, por eso configuré mi nginx usando otro puerto (consulte el archivo de configuración a continuación).

Los archivos Nginx están ahí:

E:/nginx/

Copié un php allí:

E:/nginx/php/

Aquí está mi ejemplo 'index.php' que coloco en mis carpetas actuales para probar mi configuración de php y nginx:

<?php
    echo "THIS IS A TEST";
?>

Aquí está mi archivo nginx.conf (eliminé las líneas comentadas):

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       8111;
        server_name  localhost;
        root E:/nginx/;
        index index.php index.html index.htm;
        charset utf-8;  
        location / {
            alias E:/www/;
        }

        location /projectTest/ {
            alias E:/www/projectTest/;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location ~ \.php$ {
            root ../www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root/conf/$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
}

Parece que todo está funcionando bien, lo que significa que si quiero acceder a mi 'localhost:8111/index.php' o 'localhost:8111/projectTest/index.php', obtengo el 'index.php' que coloqué allí y el El texto "ESTO ES UNA PRUEBA" aparece en mi pantalla.

PERO :

Me di cuenta de que, cuando abro Firebug para probar mi página, siempre recibo este mensaje de error (INCLUSO SI OBTENGO MI PÁGINA):

NetworkError: 404 Not Found - http://localhost:8111/
    //Same error when I call index.php in url : 
NetworkError: 404 Not Found - http://localhost:8111/index.php
    //Same error when I call my projectTest folder :
NetworkError: 404 Not Found - http://localhost:8111/projectTest/
    //Same error when I call my index.php in projectTest url : 
NetworkError: 404 Not Found - http://localhost:8111/projectTest/index.php

Así es como inicio Nginx en la línea de comando:

E:\nginx>nginx.exe
E:\nginx\php>php-cgi.exe -b 127.0.0.1:9000 -c e:/nginx/php/php.ini

en php.ini:

doc_root = "E:/www"
extension_dir = "E:/nginx/php/ext"
error_reporting = E_ALL

Debe haber algo mal en mi configuración de nginx, vengo de Apache así que estoy muy confundido con este archivo .conf, leí muchas cosas al respecto pero todavía no me siento nada cómodo con la "root" o " valores de alias", y con lo de php fast-cgi...

Gracias por leer/ayuda/consejos

Respuesta1

Hay varios problemas en su configuración:

  1. Usted especifica rooten el nivel del servidor y luego especifica aliasen locationbloques. Esto no es malo en sí mismo, pero causa confusión fácilmente.

Si todos los archivos de su proyecto están en E:/www, los usaría para eliminar el locationbloque con aliaslos bloques y los configuraría solo root E:/wwwdentro del serverbloque.

  1. Usted especifica rootla directiva dentro de su .phpbloque de procesamiento. Eso no funcionará.

Si no tiene ningún requisito especial para su servidor web, usaría esta configuración para PHP:

location ~ \.php$ {
    try_files $uri =404;
    include /etc/nginx/fastcgi_params;
    fastcgi_split_path_info ^(.+\.php)(.*)$;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

Con esta configuración, nginx buscará los archivos que se entregarán desde E:/wwwel directorio y pasará los archivos PHP a PHP-FPM para su ejecución.

información relacionada