Nginx es un servidor HTTP gratuito, de código abierto y de alto rendimiento que, a diferencia de sus "amigos", no se basa en el manejo de subprocesos de las solicitudes, sino que utiliza una arquitectura basada en eventos (asincrónica) mucho más escalable. Esto utiliza una cantidad de memoria muy pequeña y predecible bajo una carga pesada. Nginx, en combinación con FastCGI Process Manager para PHP (PHP-FPM), simple y muy robusto, y el servidor de base de datos más popular del mundo, MySQL, puede brindarle mucha potencia y rendimiento sin dejar de utilizar una pequeña huella de memoria.
El siguiente artículo analiza cómo instalar y configurar esta pila en uno de nuestros VPS basados en Debian.
# apt-get update && apt-get -y upgrade --show-upgraded
# echo -e "deb http://packages.dotdeb.org squeeze all" >> /etc/apt/sources.list
# gpg --keyserver keys.gnupg.net --recv-key 89DF5277 && gpg -a --export 89DF5277 | apt-key add -
– Debería obtener algo como el siguiente resultado:
gpg:solicitando la clave 89DF5277 del servidor hkp keys.gnupg.net
gpg:clave 89DF5277:clave pública “Guillaume Plessis” importada
gpg:no se encontraron claves confiables
gpg:Número total procesado:1
gpg:importado:1 (RSA:1)
OK
# apt-get update
– Si tiene un servidor web Apache ejecutándose en su sistema, debe detenerlo y deshabilitarlo para que Nginx pueda iniciarse más adelante. Para hacer esto, ejecute el siguiente comando:
# [[ $(pgrep apache2) ]] && service apache2 stop && update-rc.d -f apache2 disable
# apt-get -y install nginx # apt-get -y install php5-fpm php5-gd php5-curl php5-mysql # apt-get -y install mysql-server
server { server_name example.com www.example.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log error; root /var/www/; index index.php index.html index.htm; location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; ## prevent php version info fastcgi_hide_header X-Powered-By; } }
asegúrese de reemplazar 'example.com' con el nombre de dominio deseado. Además, no dude en configurar la raíz del documento y las rutas de registro a su gusto.
# ln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled/
# for s in nginx php5-fpm mysql; do service $s restart; done
# echo -e "<?php\n\tphpinfo();\n?>" > /var/www/info.php # chown -R www-data: /var/www/
Ahora navega a ‘http://example.com/info.php’ y debería ver la página de información integrada de PHP.
Es una buena idea y se recomienda instalar algún motor de caché para optimizar y hacer que las cosas funcionen más rápido. El caché de PHP-APC puede mejorar drásticamente el rendimiento, así que instálelo:
# apt-get -y install php5-apc && service php5-fpm restart
La configuración predeterminada de APC está bien, pero, por supuesto, personalizar las opciones puede acelerar significativamente las cosas, así que permanezca atento, ya que en algunos de los próximos artículos profundizaremos en la optimización de la pila LEMP para que pueda beneficiarse de su uso en su privado virtual. servidor.
PD. Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.