Не так давно пришлось оптимизировать сервер у заказчика. Нужно было заменить 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.me/tips/info/2096.shtml
Может вместо rewrite try_files ?
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#t...
Может вместо локалхоста сокет?
+1Unix domain socket серьезно повышает производительность.
а смысл писать, что это nginx+php+fastcgi, если кто у нас там за php отвечает не написано?
spawn-fcgi?
свой скрипт?
А если еще вспомнить, что пых fcgi ничем не отличается от пыха просто cgi, то становится совсем смешно.
Кто вам такое сказал?
НАРОД. КТО может РЕАЛЬНО помочь (платно) оптимизировать magento??? (сейчас сильно медлено грузятся страницы).
Я могу.
http://magento-forum/user/1