Servidor web · 3 min read · Feb 06, 2026
Instalando Nginx Con PHP 5.3 Y PHP-FPM En Ubuntu Lucid Lynx (10.04) Sin Compilar Nada
Instalando Nginx Con PHP 5.3 Y PHP-FPM En Ubuntu Lucid Lynx (10.04) Sin Compilar Nada
Versión 1.0
Sígueme en Twitter
Dado que Apache es la mayoría de las veces un proceso que consume mucha memoria, la gente comenzó a buscar diferentes formas de alojar su sitio web. Apache claramente no es el único servidor web disponible. Algunos buenos ejemplos son lighttpd y nginx. En este tutorial te mostraré cómo instalarlo en tu servidor Ubuntu. Este tutorial también se aplica a Debian, aunque hay una diferencia muy pequeña.
¿Listo? Comencemos, ¿de acuerdo?
Paso 0 - Notas Preliminares
Para completar este tutorial, asumo que has instalado un sistema base de Ubuntu Lucid (10.04). Cómo se puede hacer esto, se puede leer en diferentes tutoriales. Este tutorial se centra únicamente en hacer funcionar nginx+php sin mucho problema.
Paso 1 - Nginx
Instalar nginx es el primer paso que tenemos que hacer. Esto se puede hacer fácilmente descargándolo del repositorio.
sudo apt-get install nginxEl vhost predeterminado debe ser cambiado para funcionar correctamente.
sudo vim /etc/nginx/sites-available/defaultUn buen punto de partida para tu configuración es:
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
## Ubicación predeterminada
location / {
root /var/www;
index index.php;
}
## Las imágenes y el contenido estático se tratan de manera diferente
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
expires 30d;
root /var/www;
}
## Analizar todos los archivos .php en el directorio /var/www
location ~ .php$ {
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
## Deshabilitar la visualización de .htaccess y .htpassword
location ~ /\.ht {
deny all;
}
}
upstream backend {
server 127.0.0.1:9000;
}
Ok, hemos terminado aquí. Ahora instalaremos los archivos necesarios para PHP.
Paso 2 - Instalando PHP
Muchos sitios dependen de PHP para proporcionarles contenido dinámico, ya sea un wiki, software de foro, weblog o algo completamente diferente.
No hay necesidad de usar DotDeb, ya que PHP5.3 ahora está oficialmente soportado en Ubuntu Lucid (10.04). Es tan fácil como
sudo apt-get updateEl texto resultante debería incluir dotdeb.
Ahora instalaremos PHP. Para instalar PHP-FPM, tendremos que agregar el PPA ya que no está oficialmente soportado.
add-apt-repository ppa:brianmercer/phpsudo apt-get update && sudo apt-get install php5-fpmSi planeas usar una base de datos o necesitas módulos específicos (mcrypt, ldap, snmp, etc.), también puedes instalarlos.
Ok, ahora tenemos nginx y PHP instalados y listos para usar.
Paso 3 - Finalizando
Reinicia nginx para que reconozca los cambios de configuración que hicimos anteriormente.
sudo service nginx restartEl reinicio debería haberse realizado sin problemas.
Después de instalar php5-fpm, debería haberse iniciado. Si cambiaste tus archivos php.ini, debes reiniciar php5-fpm.
sudo service php5-fpm restartMuy bien. Ahora deberían estar ambos en funcionamiento.
Paso 4 - Pruebas
Para probar si la ejecución de PHP está funcionando, crea un archivo index.php en /var/www con el siguiente contenido:
Visita tu servidor web y deberías poder ver el phpinfo generado. Si no, algo salió mal.
Paso 5 - Solución de Problemas & Notas Finales
Si no viste el phpinfo, puede que haya algo mal. Para rastrear qué salió mal, puedes revisar el registro de errores de nginx:
sudo tail /var/log/nginx/error.logRecuerda, si cambiaste tu php.ini, debes reiniciar php5-fpm. No es necesario reiniciar nginx.
En mi configuración de ejemplo, he habilitado la interceptación de errores fastcgi. Si ocurre un error grave (por ejemplo, un “no se puede redeclarar la clase xyz”), nginx puede capturar esta página y mostrar una página de error “agradable” que algo salió mal. De esta manera, se proporciona menos información en caso de que algo esté saliendo muy mal.
Si no te gusta esto, puedes desactivarlo.
Si php5-fpm no está en funcionamiento, tus archivos PHP no pueden ser analizados y nginx mostrará al usuario una página de error.
Bueno, creo que hemos terminado y ahora puedes servir PHP con tu nuevo servidor web basado en nginx. Nginx es bastante agradable y puedes configurar mucho. Si necesitas reescrituras, ten en cuenta que nginx no funciona con archivos .htaccess. Necesitarás cambiar la configuración de tu vhost para que las reescrituras funcionen.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.