Nginx с php на CentOS

Установим и настроем Nginx с PHP на примере CentOS 5.4. Все делается довольно быстро и просто.

Первым делом ставим репозитарий epel:

# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/$(uname -m)/epel-release-5-3.noarch.rpm

Устанавливаем nginx:

# yum install nginx

Ставим PHP и необходимые модули:

# yum install php-pear-Net-Socket php-pear php-common php-gd php-devel php php-mbstring php-pear-Mail php-cli php-imap php-snmp php-pdo php-xml php-pear-Auth-SASL php-ldap php-pear-Net-SMTP php-mysql

Ставим spawn-fcgi:

# yum install spawn-fcgi

Скачиваем и настраиваем скрипт для init.d:

# wget http://andrey.org/nginx-daemon.sh.gz

# gunzip nginx-daemon.sh.gz

# mv nginx-daemon.sh /etc/init.d/php_cgi

# chmod +x /etc/init.d/php_cgi

Запускаем php app :

# /etc/init.d/php_cgi start

Проверяем:

# netstat -tulpn | grep :9000

Получаем:

tcp     0      0 127.0.0.1:9000       0.0.0.0:*      LISTEN    15196/php-cgi

Вносим изменения в /etc/nginx/nginx.conf :

location ~ \.php$ {

root           html;

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;

include        fastcgi_params;

}

Рестартуем Nginx:

# service nginx restart

Создаем тестовый файл для проверки работы php — /usr/share/nginx/html/info.php:

<?php

phpinfo();

?>

Проверяем в браузере. Все должно работать.

Удачи в настройках.

© shadow_alone

  • Спасибо. Все работает прекрасно на CentOS 5.6. Избавился я от apache и перевел сайт на менее обжорлиывый демон nginx.