Как запустить установку Multiple Magento2 с помощью Nginx

Я хочу настроить несколько установок Magento2 (например, 3 установки) с одним доменным именем. как ..

Если я беру в браузере URL, как показано ниже, он должен загрузить отдельный каталог на основе запроса Nginx.

test.com/m21> / var / www / m21

test.com/m22> / var / www / m22

test.com/m23> / var / www / m23

Так что кто-нибудь может подсказать мне настроить файл конфигурации виртуального хоста nginx, который может удовлетворить мое требование о загрузке нескольких установок Magneto2 для одного доменного имени.

В ожидании помощи руки.

2
задан 20 April 2016 в 16:39

1 ответ

Да, довольно легко сделать так в Nginx. Просто необходимо отредактировать Nginx виртуальный файл хоста.

Давайте возьмем один случай, например.

Случай: один веб-сайт, представления сети магазинов
Например, мы имеем

mystore.com (store code: mystore_en)
mystore.de (store code: mystore_de)
mystore.es (store code: mystore_es)
…

Шаг 1. Отредактируйте свой Nginx виртуальный конфигурационный файл хоста как

Файл: Обычно располагаемый под/etc/nginx/sites-available/или/usr/local/etc/nginx/sites-available/или другой в зависимости от типа ОС.

map $http_host $MAGE_RUN_CODE {
    mystore.com mystore_en;
    mystore.de mystore_de;
    mystore.es mystore_es;
}
server {
    listen 80;
    server_name mystore.com mystore.de mystore.es;
    set $MAGE_ROOT /path/to/your/magento2;
    set $MAGE_MODE default;
    include /path/to/your/magento2/nginx.conf.sample;
}

Здесь Вы видите как Nginx map блок используется для установки MAGE_RUN_CODE согласно хосту. И server_name директива включает все доступные домены.

Шаг 2. Отправьте MAGE_RUN_CODE и переменные MAGE_RUN_TYPE в php-fpm Файл сервера: включайте путь сверху, пример: path/to/your/magento2/nginx.conf.sample

#...
# 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;

    #add here - start
    fastcgi_param  MAGE_RUN_TYPE store;
    fastcgi_param  MAGE_RUN_CODE $MAGE_RUN_CODE;
    #end

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

Здесь MAGE_RUN_TYPE fastcgi_param Nginx и MAGE_RUN_CODE создадут переменные среды для PHP так, чтобы сценарий мог получить доступ к значениям через

$_SERVER['MAGE_RUN_TYPE']
$_SERVER['MAGE_RUN_CODE']

Для получения дополнительной информации проверьте: http://www.blog.magepsycho.com/set-multiple-magento-2-websites-stores-nginx/

0
ответ дан 21 April 2016 в 02:39
  • 1
    Начиная с Ubuntu 17.10, it' s назад к gnome-control-center теперь. unity-control-center все еще существует, но не установлен по умолчанию, и только показывает несколько объектов. См. этот ответ . – tanius 9 April 2019 в 04:23

Другие вопросы по тегам:

Похожие вопросы: