En este tutorial, le mostraremos cómo instalar Nginx con PHP-FastCGI en CentOS 6. Para aquellos de ustedes que no lo sabían, Nginx es uno de los servidores web más populares en del mundo y es responsable de alojar algunos de los sitios más grandes y con mayor tráfico en Internet. Es más amigable con los recursos que Apache en la mayoría de los casos y se puede usar como un servidor web o un proxy inverso.
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple. mostrarle la instalación paso a paso de Nginx con CGI rápido en el servidor CentOS 6.
Instalar Nginx con PHP-FastCGI en CentOS 6
Paso 1. Para instalar, primero debe agregar la información del repositorio EPEL yum correspondiente a su versión de CentOS/RHEL.
## RHEL/CentOS 6 32-Bit ## # wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm # rpm -ivh epel-release-6-8.noarch.rpm
## RHEL/CentOS 6 64-Bit ## # wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -ivh epel-release-6-8.noarch.rpm
Paso 2. Instale el paquete y las dependencias de Nginx.
Instalando Nginx usando el siguiente comando:
yum update yum -y install nginx
Paso 3. Instale los paquetes PHP requeridos.
yum install php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy
Paso 4. Instale spawn-fcgi.
Ahora instalamos spawn-fcgi
usando el siguiente comando a continuación:
yum install spawn-fcgi -y
Configure la secuencia de comandos de inicio Fast-CGI:
nano /etc/init.d/php-cgi
#!/bin/sh # # php-cgi - php-fastcgi swaping via spawn-fcgi # # chkconfig: - 85 15 # description: Run php-cgi as app server # processname: php-cgi # config: /etc/sysconfig/phpfastcgi (defaults RH style) # pidfile: /var/run/php-cgi.pid . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 spawnfcgi="/usr/bin/spawn-fcgi" php_cgi="/usr/bin/php-cgi" prog=$(basename $php_cgi) server_ip=127.0.0.1 server_port=9000 server_user=nginx server_group=nginx server_childs=5 pidfile="/var/run/php_cgi.pid" # do not edit, put changes in /etc/sysconfig/phpfastcgi [ -f /etc/sysconfig/phpfastcgi ] && . /etc/sysconfig/phpfastcgi start() { [ -x $php_cgi ] || exit 1 [ -x $spawnfcgi ] || exit 2 echo -n $"Starting $prog: " daemon $spawnfcgi -a ${server_ip} -p ${server_port} -u ${server_user} -g ${server_group} -P ${pidfile} -C ${server_childs} -f ${php_cgi} retval=$? echo return $retval } stop() { echo -n $"Stopping $prog: " killproc -p ${pidfile} $prog -QUIT retval=$? echo [ -f ${pidfile} ] && /bin/rm -f ${pidfile} return $retval } restart(){ stop sleep 2 start } rh_status(){ status -p ${pidfile} $prog } case "$1" in start) start;; stop) stop;; restart) restart;; status) rh_status;; *) echo $"Usage: $0 {start|stop|restart|status}" exit 3 esac
chmod +x /etc/init.d/php-cgi
Paso 5. Configurar el servidor web Nginx.
#nano /etc/nginx/conf.d/idroot.us.conf server { listen 80; server_name idroot.us www.idroot.us; access_log /var/www/idroot.us/logs/access.log ; error_log /var/www/idroot.us/logs/error.log ; location / { root /var/www/idroot.us/public_html; index index.php index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/idroot.us/public_html; } # 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; root /var/www/idroot.us/public_html; fastcgi_param SCRIPT_FILENAME /var/www/idroot.us/public_html$fastcgi_script_name; include fastcgi_params; } location ~ /.ht { deny all; } }
Paso 5. Inicie el servicio Nginx y PHP-FastCGI.
etc/init.d/nginx start etc/init.d/php-cgi start
Importante :Por razones de seguridad, querrá cambiar/agregar la siguiente línea a /etc/php.ini y reiniciar Nginx:
cgi.fix_pathinfo=0
¡Felicitaciones! Ha instalado correctamente Nginx y PHP-FastCGI. Gracias por usar este tutorial para instalar Nginx y PHP-FastCGI en sistemas CentOS 6. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de Nginx.