Помощь Настройка сервера под Magento 2

Andrij Januckin

Создатель
Регистрация
18 Май 2016
Сообщения
22
Реакции
14
которая будет быстрее работать с Magento 2 ? Apache или Nginx ?
выполнить кто-то тест ?
 

WRed

Вредный
Регистрация
9 Янв 2013
Сообщения
183
Реакции
224
которая будет быстрее работать с Magento 2 ? Apache или Nginx ?
выполнить кто-то тест ?
php7 ) а разница при нормальном железе не существенна ) Ну да php-fpm+nginx - быстрее, точнее меньше грузит
 

Andrij Januckin

Создатель
Регистрация
18 Май 2016
Сообщения
22
Реакции
14
или параметры VPS: 2x3 Ghz + 4gb +ssd Это будет хорошо для Magento 2 ?
 

Black#FFFFFF

Постоялец
Регистрация
19 Июл 2007
Сообщения
226
Реакции
169
php7 ) а разница при нормальном железе не существенна ) Ну да php-fpm+nginx - быстрее, точнее меньше грузит
не факт. без нагрузки апач может работать быстрее, а под нагрузкой с точностью до наоборот.

По поводу вопроса от ТС: Вам .htaccess принципиален? И какие именно модули апача важны/не важны? Что по поводу таймаута? Есть ли загрузка больших файлов длительная, например, и критичны ли длительные таймауты? (в этом случае только Apache, только hardcore, или же спец модули под Nginx). Это только на первый взгляд вопросы.

По поводу PHP: если все нормально, то однозначно 7-рка. Он гораздо быстрее. Но тут встает вопрос совместимости текущей версии Вашей CMS, ее работы с драйверами баз данных или другими нововведениями и изменениями 7-рки.

В общем Вам явно нужна консультация системного администратора + вэб программиста и четко определенная задача (что за проект, с чем будет работать, какая посещаемость планируется за какое время). После этого сможете планировать бюджет и сервер.

А на этапе проектирования и разработки, плюс первичной раскрутки можете начать даже с хостинга под Magento. Главное, определитесь, откуда и какая аудитория планируется для сайта (из каких стран). И на этапе проектирования Вы узнаете: сколько 1 страница Вашего проекта занимает памяти, какая нагрузка на базу данных, сколько процессорного времени занимает и т.п. и т.д. Отсюда и придете постепенно к требованиям к северу и вэб окружению.
 

Andrij Januckin

Создатель
Регистрация
18 Май 2016
Сообщения
22
Реакции
14
magento 2 - system requirements:
Web servers

Apache 2.2 or 2.4

In addition, the apache mod_rewrite module must be enabled. mod_rewrite enables the server to perform URL rewriting. For more information, see our Apache documentation.

nginx 1.8 (or latest mainline version)
 

Sylon

Постоялец
Регистрация
1 Мар 2015
Сообщения
322
Реакции
153
Вопрос конечно насущный и интересный! Пробовал установить на обоих серверах для сравнения, при отсутствии посещаемости разницы никакой по времени загрузки страницы. Если кто-нибудь скажет как можно протестировать, сделаю и отпишусь. По логике лучше nginx из-за меньшего потребления ресурсов. На форуме сказали, что nginx можно настроить более широко, чем apache. .htaccess в nginx восполняется другим методом настройки. Присоединяюсь к вопросу. Мне кажется, чтобы не лить воду, можно сформировать варианта три оптимальных, для чего и что лучше. А вообще общей массе думаю нужен будет магазин со стандартными требованиями, где подразумевается, что посещаемость будет расти.
 

Данида

Постоялец
Регистрация
30 Июл 2012
Сообщения
234
Реакции
163
Вопрос конечно насущный и интересный! Пробовал установить на обоих серверах для сравнения, при отсутствии посещаемости разницы никакой по времени загрузки страницы. Если кто-нибудь скажет как можно протестировать, сделаю и отпишусь. По логике лучше nginx из-за меньшего потребления ресурсов. На форуме сказали, что nginx можно настроить более широко, чем apache. .htaccess в nginx восполняется другим методом настройки. Присоединяюсь к вопросу. Мне кажется, чтобы не лить воду, можно сформировать варианта три оптимальных, для чего и что лучше. А вообще общей массе думаю нужен будет магазин со стандартными требованиями, где подразумевается, что посещаемость будет расти.
можно просто через siege
 

Sylon

Постоялец
Регистрация
1 Мар 2015
Сообщения
322
Реакции
153
Для просмотра ссылки Войди или Зарегистрируйся
Благодарю за Siege.
Системы настроил стандартно. Как видно по тесту, то Apache не выдерживает той же нагрузки. Пробовал дополнительно на Apache 50 и 100 одновременных посетителей, эту нагрузку он выдержал, но время ответа большое. На 142 человека тест сума сходил и выдавал много таймаутов у Apache. Nginx на 100% справился со 142-мя одновременными посетителями, далее уже были задержки.
 
Последнее редактирование:

hrm143

Писатель
Регистрация
13 Фев 2014
Сообщения
2
Реакции
1
Для просмотра ссылки Войди или Зарегистрируйся
Благодарю за Siege.
Системы настроил стандартно. Как видно по тесту, то Apache не выдерживает той же нагрузки. Пробовал дополнительно на Apache 50 и 100 одновременных посетителей, эту нагрузку он выдержал, но время ответа большое. На 142 человека тест сума сходил и выдавал много таймаутов у Apache. Nginx на 100% справился со 142-мя одновременными посетителями, далее уже были задержки.

дайте мне Nginx конфигурации для Nginx php7.0 - FPM ?
 

donvictorio

Хранитель порядка
Регистрация
28 Янв 2010
Сообщения
872
Реакции
849
дайте мне Nginx конфигурации для Nginx php7.0 - FPM ?
так в корне архива файл конфигурации nginx валяется, а php-fpm 7 не особо отличается в настройке от 5й ветки.
Код:
## Example configuration:
# upstream fastcgi_backend {
#    # use tcp connection
#    # server  127.0.0.1:9000;
#    # or socket
#    server   unix:/var/run/php5-fpm.sock;
# }
# server {
#    listen 80;
#    server_name mage.dev;
#    set $MAGE_ROOT /var/www/magento2;
#    include /vagrant/magento2/nginx.conf.sample;
# }
#
## Optional override of deployment mode. We recommend you use the
## command 'bin/magento deploy:mode:set' to switch modes instead.
##
## set $MAGE_MODE default; # or production or developer
##
## If you set MAGE_MODE in server config, you must pass the variable into the
## PHP entry point blocks, which are indicated below. You can pass
## it in using:
##
## fastcgi_param  MAGE_MODE $MAGE_MODE;
##
## In production mode, you should uncomment the 'expires' directive in the /static/ location block

root $MAGE_ROOT/pub;

index index.php;
autoindex off;
charset UTF-8;
error_page 404 403 = /errors/404.php;
#add_header "X-UA-Compatible" "IE=Edge";

# PHP entry point for setup application
location ~* ^/setup($|/) {
    root $MAGE_ROOT;
    location ~ ^/setup/index.php {
        fastcgi_pass   fastcgi_backend;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    location ~ ^/setup/(?!pub/). {
        deny all;
    }

    location ~ ^/setup/pub/ {
        add_header X-Frame-Options "SAMEORIGIN";
    }
}

# PHP entry point for update application
location ~* ^/update($|/) {
    root $MAGE_ROOT;

    location ~ ^/update/index.php {
        fastcgi_split_path_info ^(/update/index.php)(/.+)$;
        fastcgi_pass   fastcgi_backend;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO        $fastcgi_path_info;
        include        fastcgi_params;
    }

    # Deny everything but index.php
    location ~ ^/update/(?!pub/). {
        deny all;
    }

    location ~ ^/update/pub/ {
        add_header X-Frame-Options "SAMEORIGIN";
    }
}

location / {
    try_files $uri $uri/ /index.php?$args;
}

location /pub/ {
    location ~ ^/pub/media/(downloadable|customer|import|theme_customization/.*\.xml) {
        deny all;
    }
    alias $MAGE_ROOT/pub/;
    add_header X-Frame-Options "SAMEORIGIN";
}

location /static/ {
    # Uncomment the following line in production mode
    # expires max;

    # Remove signature of the static files that is used to overcome the browser cache
    location ~ ^/static/version {
        rewrite ^/static/(version\d*/)?(.*)$ /static/$2 last;
    }

    location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
        add_header Cache-Control "public";
        add_header X-Frame-Options "SAMEORIGIN";
        expires +1y;

        if (!-f $request_filename) {
            rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
        }
    }
    location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
        add_header Cache-Control "no-store";
        add_header X-Frame-Options "SAMEORIGIN";
        expires    off;

        if (!-f $request_filename) {
           rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
        }
    }
    if (!-f $request_filename) {
        rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
    }
    add_header X-Frame-Options "SAMEORIGIN";
}

location /media/ {
    try_files $uri $uri/ /get.php?$args;

    location ~ ^/media/theme_customization/.*\.xml {
        deny all;
    }

    location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
        add_header Cache-Control "public";
        add_header X-Frame-Options "SAMEORIGIN";
        expires +1y;
        try_files $uri $uri/ /get.php?$args;
    }
    location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
        add_header Cache-Control "no-store";
        add_header X-Frame-Options "SAMEORIGIN";
        expires    off;
        try_files $uri $uri/ /get.php?$args;
    }
    add_header X-Frame-Options "SAMEORIGIN";
}

location /media/customer/ {
    deny all;
}

location /media/downloadable/ {
    deny all;
}

location /media/import/ {
    deny all;
}

# PHP entry point for main application
location ~ (index|get|static|report|404|503)\.php$ {
    try_files $uri =404;
    fastcgi_pass   fastcgi_backend;
    fastcgi_buffers 1024 4k;

    fastcgi_param  PHP_FLAG  "session.auto_start=off \n suhosin.session.cryptua=off";
    fastcgi_param  PHP_VALUE "memory_limit=768M \n max_execution_time=600";
    fastcgi_read_timeout 600s;
    fastcgi_connect_timeout 600s;

    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

gzip on;
gzip_disable "msie6";

gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_proxied any;
gzip_types
    text/plain
    text/css
    text/js
    text/xml
    text/javascript
    application/javascript
    application/x-javascript
    application/json
    application/xml
    application/xml+rss
    image/svg+xml;
gzip_vary on;

# Banned locations (only reached if the earlier PHP entry point regexes don't match)
location ~* (\.php$|\.htaccess$|\.git) {
    deny all;
}
 
Сверху