|
|
Строка 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/
| |
− |
| |
− |
| |
− | '''Настройка Nginx'''
| |
− |
| |
− | Конфигурация Nginx состоит из нескольких файлов, сам nginx начинает читать единственный файл: <code bash>/etc/nginx/nginx.conf</code>, все остальные подключаются директивой 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<br/>
| |
− | прописываем в /etc/php5/fpm/php.ini
| |
− | cgi.fix_pathinfo=0
| |
− |
| |
− |
| |
− | Если все работает, то на этом этапе мы имеем рабочий web-сервер с поддержкой php.
| |
− |
| |
− | Далее плюшки
| |