Recientemente he tenido la necesidad de configurar un servidor web con PHP, pero quería probar Nginx pues todo el mundo habla muy bien, que es muy rápido, poco consumo etc.

Encontré diferente documentación que adjunto al final del artículo, pero bueno, aquí dejo la receta rápida, por si a alguien le sirve:

aptitude install mysql-server mysql-client aptitude install nginx /etc/init.d/nginx start aptitude install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
vi /etc/php5/cgi/php.ini [...] cgi.fix_pathinfo = 1 aptitude install lighttpd update-rc.d -f lighttpd remove /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid vi /etc/rc.local [...] /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid [...] vi /etc/nginx/nginx.conf [...] worker_processes 5; [...] keepalive_timeout 2; [...] vi /etc/nginx/sites-available/default [...] server { listen 80; server_name _; access_log /var/log/nginx/localhost.access.log; location / { root /var/www/nginx-default; index index.php index.html index.htm; } location /doc { root /usr/share; autoindex on; allow 127.0.0.1; deny all; } location /images { root /usr/share; autoindex on; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/nginx-default; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { #proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /\.ht { deny all; } } [...] /etc/init.d/nginx restart

Es posible que por espacio, haya tenido que partir lineas, sobre todo, la que tiene el comando de instalación de los paquetes necesarios, por tanto si copias y pegas para hacer la instalación, copialo a un editor y «desparte» las lineas, o mejor bájate este fichero de texto donde está todo seguido y lo puedes copiar directamente.

Enlaces de interés:

http://www.howtoforge.com/installing-nginx-with-php5-and-mysql-support-on-debian-lenny

http://www.adminsehow.com/2009/05/how-to-configure-nginx-php5-mysql-on-debian-5-lenny/