Nginx+php+fpm+perl на Debian — различия между версиями

Материал из megapuper
Перейти к: навигация, поиск
(Полностью удалено содержимое страницы)
 
(не показаны 4 промежуточные версии этого же участника)
Строка 1: Строка 1:
−
'''Установка'''
 
  
−
 
−
Добавляем необходимые в дальнейшем репозитории в /etc/apt/sources.list:
 
−
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
 
−
deb http://www.deb-multimedia.org stable main non-free
 
−
deb http://packages.dotdeb.org squeeze all
 
−
deb-src http://packages.dotdeb.org squeeze all
 
−
deb http://nginx.org/packages/debian/ squeeze nginx
 
−
deb-src http://nginx.org/packages/debian/ squeeze nginx
 
−
 
−
 
−
Устанавливаем ключи
 
−
apt-get update
 
−
apt-get install deb-multimedia-keyring
 
−
wget http://www.dotdeb.org/dotdeb.gpg -O- |apt-key add -
 
−
gpg --keyserver hkp://keys.gnupg.net --recv-keys ABF5BD827BD9BF62
 
−
gpg -a --export 7BD9BF62 | apt-key add -
 
−
 
−
 
−
Обновляемся
 
−
apt-get update
 
−
 
−
 
−
Перезагружаемся
 
−
reboot
 
−
 
−
 
−
Ставим необходимые пакеты
 
−
apt-get install nginx php5-cli php5-common sqlite php5-sqlite php5-suhosin php5-cgi php5-fpm
 
−
mysql-server php5-mysql php5-gd php5-apc memcached php5-memcached
 
−
* nginx — web-сервер
 
−
* php5-cli php5-common php5-sqlite php5-suhosin php5-cgi php5-fpm php5-gd — модули php
 
−
* mysql-server php5-mysql — база данных mysql и модуль связи ее с php
 
−
* fcgiwrap — обработка perl скриптов
 
−
* php5-apc memcached php5-memcached — ускорители работы веб сервера
 
−
* siege — утилита для тестирования скорости работы сайта, понадобится при подборе количества обработчиков
 
−
 
−
 
−
Создаем каталог для сайтов и логов, также устанавливаем права
 
−
mkdir /var/www
 
−
mkdir /var/log/nginx/
 
−
chown -R www-data:www-data /var/www
 
−
chmod -R 750 /var/www
 
−
#Дирректория для кеша
 
−
mkdir /tmp/fcgi-cache/
 
−
chown www-data:www-data -R /tmp/fcgi-cache/
 
−
 
−
2. Настройка Nginx
 
−
 
−
Конфигурация Nginx состоит из нескольких файлов, сам nginx начинает читать единственный файл: /etc/nginx/nginx.conf, все остальные подключаются директивой include.
 
−
#Пользователь с правами которого работает nginx
 
−
user  www-data;
 
−
#Рекомендуется устанавливать по числу ядер
 
−
worker_processes  1;
 
−
 
−
pid        /var/run/nginx.pid;
 
−
 
−
#Максимальное число подключений к серверу на один worker-процесс
 
−
events {
 
−
    worker_connections  1024;
 
−
}
 
−
 
−
 
−
http {
 
−
    include      /etc/nginx/mime.types;
 
−
    default_type  application/octet-stream;
 
−
 
−
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
 
−
                      '$status $body_bytes_sent "$http_referer" '
 
−
                      '"$http_user_agent" "$http_x_forwarded_for"';
 
−
 
−
#Логи
 
−
    access_log  /var/log/nginx/access.log  main;
 
−
    error_log  /var/log/nginx/error.log warn;
 
−
 
−
    sendfile        on;
 
−
   
 
−
    keepalive_timeout  65;
 
−
 
−
    gzip  on;
 
−
 
−
    include /etc/nginx/conf.d/*.conf;
 
−
 
−
}
 
−
 
−
Переходим к /etc/nginx/conf.d/default.conf;
 
−
server {
 
−
    listen      80;
 
−
    server_name  localhost;
 
−
 
−
    #charset koi8-r;
 
−
    #access_log  /var/log/nginx/log/host.access.log  main;
 
−
 
−
    location / {
 
−
        root  /srv/www;
 
−
        index  index.php index.html index.htm;
 
−
    }
 
−
 
−
    #error_page  404              /404.html;
 
−
 
−
    # redirect server error pages to the static page /50x.html
 
−
    #
 
−
    error_page  500 502 503 504  /50x.html;
 
−
    location = /50x.html {
 
−
        root  /srv/www;
 
−
    }
 
−
 
−
    location ~ \.php$ {
 
−
        root          /srv/www;
 
−
        fastcgi_pass    unix:/var/run/php5-fpm.sock;
 
−
        fastcgi_index  index.php;
 
−
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
 
−
        include        fastcgi_params;
 
−
    }
 
−
 
−
    # deny access to .htaccess files, if Apache's document root
 
−
    # concurs with nginx's one
 
−
    #
 
−
    #location ~ /\.ht {
 
−
    #    deny  all;
 
−
    #}
 
−
 
−
}
 
−
 
−
Стандартным способом проверяем работоспособность php
 
−
<?php
 
−
phpinfo();
 
−
?>
 
−
 
−
Отключаем уязвимость: http://forum.antichat.ru/thread222063-php-fpm.html
 
−
прописываем в /etc/php5/fpm/php.ini
 
−
cgi.fix_pathinfo=0
 
−
 
−
Если все работает, то на этом этапе мы имеем рабочий web-сервер с поддержкой php.
 
−
 
−
Дальее плюшки
 

Текущая версия на 20:30, 27 февраля 2014