The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Раздел полезных советов: Конфигурация Nginx + PHP + FastCGI ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Конфигурация Nginx + PHP + FastCGI ..."  +/
Сообщение от auto_tips (ok), 15-Июн-09, 10:38 
Не так давно пришлось оптимизировать сервер у заказчика. Нужно было заменить Apache на Nginx.
На официальном форуме можно найти примеры конфигурации, например http://http//www.magentocommerce.com/boards/viewthread/7931/ ,
однако использование rewrite для таких случаев всячески порицается разработчиком сервера.

Замечания

* Процесс сборки nginx и php описан на офсайтах
* Предполагается, что php с поддержкой fast-cgi настроен и работает на 127.0.0.1:8888, а nginx на 127.0.0.1:80
* Папка, в которой лежат файлы Magento: /home/alex/www/server.com/
* Так как Nginx работает с php напрямую, а не через связку с Apache, следует обратить особое внимание
  на директивы для php, которые идут в .htaccess из стандартной поставки magento. Nginx
  не обрабатывает директивы из .htaccess и поэтому их нужно перенести в php.ini.
  У меня, например, перестала работать загрузка картинок к товарам, пока не добавил suhosin.session.cryptua off в php.ini.
* Предполагается, что в Magento настроены ЧПУ

Ниже привожу свою конфигурацию. Дополнения и комментарии всячески приветствуются.

    server {
    listen 127.0.0.1:80;
    server_name server.com;
    #Включаем сжатие
    gzip on;
    #gzip_comp_level 9;
    gzip_min_length 1000;
    gzip_proxied any;
    gzip_types text/plain application/xml text/html text/css text/js application/x-javascript;
    # Важно!!!! Ниже должна быть указана папка в которой лежит код Magento
    root /home/alex/www/server.com/;

    location / {
    index index.php;
    error_page 404 = @magento;
    }
    # Фикс для js
    location /js/ {
    index index.php;
    error_page 404 = @magento_js;
    }
    # Фикс для случая, когда используется расширение FOOMAN_Speedster.
    location ^~ /minify/ {
    rewrite ^/minify/([^/]+)(/.*.(js|css))$ /lib/minify/m.php?f=$2&d=$1 last;
    break;
    }

    location @magento {
    # Если fastcgi_params лежит по другому пути то заменить на свой
    include /etc/nginx/fastcgi_params; #Важно !!!!
    fastcgi_pass 127.0.0.1:8888;
    fastcgi_param SCRIPT_FILENAME $document_root/index.php; #Важно !!!
    }

    location @magento_js {
    include /etc/nginx/fastcgi_params;
    fastcgi_pass 127.0.0.1:8888;
    fastcgi_param SCRIPT_FILENAME $document_root/js/index.php;
    }
    location ~ .php$ {
    index index.php;
    include /etc/nginx/fastcgi_params;
    fastcgi_pass 127.0.0.12:8888;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~* \.(jpg|gif|png|css|js|jpeg|ico)$ {
    if (-f $request_filename) {
    access_log off;
    expires 7d;
    }

    }

После такой настройки плагин YSlow дает сайту уровень B по скорости. Если очень постараться и
вынести всю статику на отдельный поддомен, то можно еще ускориться.

URL: http://drugento.blogspot.com/2009/06/nginx-magento.html
Обсуждается: http://www.opennet.ru/tips/info/2096.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


2. "Конфигурация Nginx + PHP + FastCGI для Magento"  +/
Сообщение от viper (??), 15-Июн-09, 10:46 
Может вместо rewrite try_files ?
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#t...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Конфигурация Nginx + PHP + FastCGI для Magento"  +/
Сообщение от SaveTheRbtz (??), 15-Июн-09, 16:35 
Может вместо локалхоста сокет?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Конфигурация Nginx + PHP + FastCGI для Magento"  +/
Сообщение от inste (?), 16-Июн-09, 02:25 
+1

Unix domain socket серьезно повышает производительность.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Конфигурация Nginx + PHP + FastCGI для Magento"  +/
Сообщение от Эргил (?), 18-Июн-09, 05:55 
а смысл писать, что это nginx+php+fastcgi, если кто у нас там за php отвечает не написано?
spawn-fcgi?
свой скрипт?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Конфигурация Nginx + PHP + FastCGI для Magento"  +/
Сообщение от angra (ok), 18-Июн-09, 09:56 
А если еще вспомнить, что пых fcgi ничем не отличается от пыха просто cgi, то становится совсем смешно.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Конфигурация Nginx + PHP + FastCGI для Magento"  +/
Сообщение от Sammemail (??), 18-Июн-09, 16:52 
Кто вам такое сказал?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Конфигурация Nginx + PHP + FastCGI для Magento"  +/
Сообщение от Владимирemail (??), 08-Авг-09, 23:13 
НАРОД. КТО может РЕАЛЬНО помочь (платно) оптимизировать magento??? (сейчас сильно медлено грузятся страницы).

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Конфигурация Nginx + PHP + FastCGI для Magento"  +/
Сообщение от Дмитрий Федюк (?), 30-Дек-10, 13:47 
Я могу.
http://magento-forum/user/1
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру