Nginx с php на Debian Lenny
Установим и настроем Nginx с PHP на примере Debian Lenny. Все делается довольно быстро и просто.
Первым делом устанавливаем nginx, php и инструменты для сборки:
# apt-get install nginx php5-cli php5-cgi build-essential
Правим /etc/nginx/sites-available/default находим/раскомментируем строки:
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;
}
Далее, нам нужен spawn-fcgi , будем брать его от lighttpd:
# cd /tmp
# wget http://www.lighttpd.net/download/lighttpd-1.4.18.tar.bz2
# tar -xvjf lighttpd-1.4.18.tar.bz2
# cd lighttpd-1.4.18
# ./configure
# make
Инсталяцию делать не надо, нам нужен только spawn-fcgi
# cp src/spawn-fcgi /usr/bin/spawn-fcgi
правим /usr/bin/php-fastcgi
#!/bin/sh /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -f /usr/bin/php5-cgi
Выставляем права
# chmod 755 /usr/bin/php-fastcgi
правим /etc/init.d/init-fastcgi
#!/bin/bash PHP_SCRIPT=/usr/bin/php-fastcgi RETVAL=0 case "$1" in start) $PHP_SCRIPT RETVAL=$? ;; stop) killall -9 php RETVAL=$? ;; restart) killall -9 php $PHP_SCRIPT RETVAL=$? ;; *) echo "Usage: php-fastcgi {start|stop|restart}" exit 1 ;; esac exit $RETVAL
Выставляем права и стартуем
# chmod 755 /etc/init.d/init-fastcgi
# /etc/init.d/init-fastcgi start
Проверяем:
# netstat -tulpn | grep :9000
Получаем:
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1351/php5-cgi
ставим в автозагрузку
# update-rc.d init-fastcgi defaults
Рестартуем Nginx:
# /etc/init.d/nginx restart
Создаем тестовый файл для проверки работы php – /var/www/nginx-default/info.php:
<?php phpinfo(); ?>
Проверяем в браузере. Все должно работать.
Удачи в настройках.