Nginx PHP MySQL · 2 min read · Jan 24, 2026

Instalando Nginx Con Soporte PHP5 Y MySQL En Fedora 12 - Página 2

5 Configurando nginx

La configuración de nginx está en /etc/nginx/nginx.conf que abrimos ahora:

vi /etc/nginx/nginx.conf

La configuración es fácil de entender (puedes aprender más sobre ella aquí: http://wiki.codemongers.com/NginxFullExample y aquí: http://wiki.codemongers.com/NginxFullExample2)

Primero (esto es opcional) puedes aumentar el número de procesos de trabajo y establecer el keepalive_timeout a un valor razonable:

| [...] worker_processes 5; [...] keepalive_timeout 2; [...] |

Los hosts virtuales se definen en contenedores server {}. Vamos a modificar el vhost predeterminado de la siguiente manera:

| [...] server { listen 80; server_name _; #charset koi8-r; #access_log logs/host.access.log main; location / { root /usr/share/nginx/html; index index.php index.html index.htm; } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } # redirigir las páginas de error del servidor a la página estática /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy los scripts PHP a Apache escuchando en 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pasar los scripts PHP al servidor FastCGI escuchando en 127.0.0.1:9000 # location ~ \.php$ { root html; try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; include fastcgi_params; } # denegar el acceso a archivos .htaccess, si la raíz del documento de Apache # concuerda con la de nginx # location ~ /\.ht { deny all; } } [...] |

servername ; hace de esto un vhost predeterminado que captura todo (por supuesto, también puedes especificar un nombre de host aquí como www.example.com).

En la parte location /, he añadido index.php a la línea de índice. root /usr/share/nginx/html; significa que la raíz del documento es el directorio /usr/share/nginx/html.

La parte importante para PHP es el bloque location ~ .php$ {}. Descoméntalo para habilitarlo. Cambia la línea root a la raíz del documento del sitio web (por ejemplo, root /usr/share/nginx/html;). Asegúrate de cambiar la línea fastcgi_param a fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; porque de lo contrario el intérprete de PHP no encontrará el script PHP que llamas en tu navegador.

Ahora guarda el archivo y reinicia nginx:

/etc/init.d/nginx stop  
/etc/init.d/nginx start

(No pude usar /etc/init.d/nginx restart porque esto detuvo nginx, pero falló al iniciarlo - no sé por qué…)

Ahora crea el siguiente archivo PHP en la raíz del documento /usr/share/nginx/html…

vi /usr/share/nginx/html/info.php

| |

Ahora llamamos a ese archivo en un navegador (por ejemplo, http://192.168.0.100/info.php):

Como puedes ver, PHP5 está funcionando, y está funcionando a través de FastCGI, como se muestra en la línea del API del servidor. Si desplazas hacia abajo, verás todos los módulos que ya están habilitados en PHP5, incluido el módulo de MySQL:

6 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.