Dans ce didacticiel, nous allons vous montrer comment installer Nginx avec PHP-FastCGI sur CentOS 6. Pour ceux d'entre vous qui ne le savaient pas, Nginx est l'un des serveurs Web les plus populaires de dans le monde et est responsable de l'hébergement de certains des sites Internet les plus importants et les plus fréquentés. Il est plus économe en ressources qu'Apache dans la plupart des cas et peut être utilisé comme serveur Web ou proxy inverse.
Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L'installation est assez simple. Je vais vous montrer étape par étape l'installation de Nginx avec fast-CGI sur le serveur CentOS 6.
Installer Nginx avec PHP-FastCGI sur CentOS 6
Étape 1. Pour installer, vous devez d'abord ajouter les informations du référentiel EPEL yum correspondant à votre version 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
Étape 2. Installez le package Nginx et ses dépendances.
Installation de Nginx à l'aide de la commande suivante :
yum update yum -y install nginx
Étape 3. Installez les packages PHP requis.
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
Étape 4. Installez spawn-fcgi.
Maintenant, nous installons spawn-fcgi
en utilisant la commande suivante ci-dessous :
yum install spawn-fcgi -y
Configurez le script d'initialisation 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
Étape 5. Configurez le serveur 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; } }
Étape 5. Démarrez le service Nginx et PHP-FastCGI.
etc/init.d/nginx start etc/init.d/php-cgi start
Important :Pour des raisons de sécurité, vous souhaiterez modifier/ajouter la ligne suivante à /etc/php.ini et redémarrer Nginx :
cgi.fix_pathinfo=0
Félicitations ! Vous avez installé avec succès Nginx et PHP-FastCGI. Merci d'avoir utilisé ce didacticiel pour installer Nginx et PHP-FastCGI sur les systèmes CentOS 6. Pour obtenir de l'aide supplémentaire ou des informations utiles, nous vous recommandons de consulter le site officiel de Nginx.