Nginx — веб-сервер и почтовый прокси-сервер, работающий на Unix-подобных операционных системах.
- обслуживание статических запросов, индексных файлов, автоматическое создание списка файлов, кеш дескрипторов открытых файлов
- акселерированное проксирование без кэширования, простое распределение нагрузки и отказоустойчивость
- поддержка кеширования при акселерированном проксировании и FastCGI
- акселерированная поддержка FastCGI и memcached серверов, простое распределение нагрузки и отказоустойчивость
- модульность, фильтры, в том числе сжатие (gzip), byte-ranges (докачка), chunked ответы, HTTP-аутентификация, SSI-фильтр
- несколько подзапросов на одной странице, обрабатываемые в SSI-фильтре через прокси или FastCGI, выполняются параллельно
- поддержкаSSL
- экспериментальная поддержка встроенного Perl
Перед началом установки:
hostname
hostname -f
Эти команды показывают название вашего компьютера, убедитесь что все корректно.
Установка необходимых пакетов(nginx web server, PHP, и все что нужно:) )
apt-get update
apt-get upgrade
apt-get install nginx php5-cli php5-cgi build-essential wget psmisc
/etc/init.d/nginx start
После установки всех требуемых пакетов, вы сможете увидеть стандартную страницу nginx, открыв в браузере IP адрес вашего компьютера.
Настройка вашего сайта:
В этом примере мы будем использовать домен “example.com”, как ваш сайт. Вы должны использовать ваш домен в конфигурации представленной ниже.
Для начала нам нужно:
mkdir -p /srv/www/www.example.com/public_html
mkdir /srv/www/www.example.com/logs
chown -R www-data:www-data /srv/www/www.example.com
Отредактируем файл /etc/nginx/sites-available/www.example.com:
server {
server_name www.example.com example.com;
access_log /srv/www/www.example.com/logs/access.log;
error_log /srv/www/www.example.com/logs/error.log;
root /srv/www/www.example.com/public_html;
location / {
index index.html index.htm index.php;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /srv/www/www.example.com/public_html$fastcgi_script_name;
}
}
Включаем сайт:
cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/www.example.com
/etc/init.d/nginx restart
Вы можете отредактировать тестовую страницу здесь /srv/www/www.example.com/public_html/
Установка spawn-fcgi
cd /opt
wget http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz
tar -xf spawn*
cd spawn*
./configure
make
cp src/spawn-fcgi /usr/bin/spawn-fcgi
cd /opt
wget -O php-fastcgi-deb.sh http://library.linode.com/assets/680-php-fastcgi-deb.sh
mv php-fastcgi-deb.sh /usr/bin/php-fastcgi
chmod +x /usr/bin/php-fastcgi
wget -O php-fastcgi-init-deb.sh http://library.linode.com/assets/681-php-fastcgi-init-deb.sh
mv php-fastcgi-init-deb.sh /etc/init.d/php-fastcgi
chmod +x /etc/init.d/php-fastcgi
update-rc.d php-fastcgi defaults
/etc/init.d/php-fastcgi start
Тестирование PHP FastCGI
Создайте файл “test.php” в “public_html”:
Пример: /srv/www/www.example.com/public_html/test.php
<!--?php echo phpinfo(); ?-->
Когда вы откроете http://www.example.com/test.php в вашем браузере, Вы увидите стандартное “PHP info”
Поздравляю) вы настроили nginx web server для работы с PHP-FastCGI ! Можно идти пить пиво!)