GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar Nginx con PHP-FastCGI en CentOS 6

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.


Cent OS
  1. Cómo instalar Nginx en CentOS 7

  2. Cómo instalar WordPress con Nginx en CentOS 7

  3. Instale Nginx con ngx_pagespeed en CentOS 7

  4. Cómo instalar phpMyAdmin con Nginx en CentOS 7 / RHEL 7

  5. Cómo instalar Sitemagic CMS en CentOS 7 – Con Nginx

Cómo instalar phpMyAdmin con Nginx en CentOS 8 / RHEL 8

Cómo instalar Nginx en CentOS

Cómo instalar Nginx con ngx_pagespeed en CentOS

Cómo instalar Magento con Nginx en CentOS 7

Cómo instalar Laravel con Nginx en CentOS 8

¿Cómo instalar Nginx en CentOS 7?