In questo tutorial, ti mostreremo come installare Nginx con PHP-FastCGI su CentOS 6. Per chi non lo sapesse, Nginx è uno dei server web più popolari in nel mondo ed è responsabile dell'hosting di alcuni dei siti più grandi e con il traffico più elevato su Internet. Nella maggior parte dei casi è più rispettoso delle risorse di Apache e può essere utilizzato come server Web o proxy inverso.
Questo articolo presuppone che tu abbia almeno una conoscenza di base di Linux, sappia come usare la shell e, soprattutto, che ospiti il tuo sito sul tuo VPS. L'installazione è abbastanza semplice. Lo farò mostrarti l'installazione passo passo di Nginx con CGI veloce sul server CentOS 6.
Installa Nginx con PHP-FastCGI su CentOS 6
Passaggio 1. Per installare, devi prima aggiungere le informazioni del repository EPEL yum corrispondenti alla tua versione di 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
Passaggio 2. Installa il pacchetto Nginx e le dipendenze.
Installazione di Nginx utilizzando il seguente comando:
yum update yum -y install nginx
Passaggio 3. Installa i pacchetti PHP richiesti.
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
Passaggio 4. Installa spawn-fcgi.
Ora installiamo spawn-fcgi
utilizzando il comando seguente:
yum install spawn-fcgi -y
Configura lo script di inizializzazione 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
Passaggio 5. Configura il server 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; } }
Passaggio 5. Avvia il servizio Nginx e PHP-FastCGI.
etc/init.d/nginx start etc/init.d/php-cgi start
Importante :Per motivi di sicurezza, ti consigliamo di modificare/aggiungere la seguente riga a /etc/php.ini e riavviare Nginx:
cgi.fix_pathinfo=0
Congratulazioni! Hai installato con successo Nginx e PHP-FastCGI. Grazie per aver utilizzato questo tutorial per l'installazione di Nginx e PHP-FastCGI sui sistemi CentOS 6. Per ulteriore aiuto o informazioni utili, ti consigliamo di controllare il sito web ufficiale di Nginx.