Пока горя не увидел — счастья не поймёшь (Армянская пословица).

Как установить Magento 2 с Apache, Varnish и Memcache

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
18 мая 2017
Как установить Magento 2 с Apache, Varnish и Memcache

В этой статье мы покажем вам, как установить Magento 2 на Ubuntu 16.04 VPS с MariaDB, Varnish как полный кэш страниц, Apache и Memcache для хранения сессии. Это руководство должно работать на других системах Linux VPS так же хорошо, но было проверено и написано для Ubuntu 16.04 VPS.

Прежде чем мы начнем, вы можете выбрать другую установку для вашего Magento. Вы можете посмотреть этот учебник, чтобы установить Magento 2 на Ubuntu 16.04 VPS с MariaDB, PHP-FPM 7.0, Varnish как полный кэш страниц, Nginx , терминатор SSL и Redis для хранения сеанса и кэширования страниц.

ИНСТРУКЦИИ:

Прежде всего, войдите в свою Ubuntu 16,04 VPS через SSH с правами суперпользователя:

ssh root@IP_address

 

В самом начале, лучше всего начать сеанс экрана, выполнив следующую команду:

screen -U -S magento

 

Обновление системы и установка необходимых пакетов:

apt-get update && apt-get -y upgrade
apt-get -y install curl nano git

 

Убедитесь в том, чтобы всегда держать свой сервер в актуальном состоянии. Вы даже можете включить автоматическое обновление.

Установка и настройка MariaDB 10.1

Чтобы добавить репозиторий MariaDB в список источников и установить последнюю версию сервера MariaDB, выполните следующие команды:

apt-get install software-properties-common
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
add-apt-repository 'deb [arch=amd64,i386,ppc64el] https://mirrors.evowise.com/mariadb/repo/10.1/ubuntu xenial main'

 

После этого, как ключ импортируется и репозиторий будет добавлен можно установить MariaDB:

apt-get update && apt-get -y upgrade
apt-get install mariadb-server

 

Далее, нам необходимо создать базу данных для нашей установки.

mysql -uroot -p
MariaDB [(none)]> CREATE DATABASE magento;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'my_strong_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

 

Не забудьте заменить «my_strong_password» на сильный пароль.

Установка веб-сервера Apache2

[destroyer]$ sudo apt-get install apache2

Установка PHP и необходимых модулей PHP

Чтобы установить последнюю стабильную версию PHP версии 7 и все необходимые модули, выполните команду:

[destroyer]$ apt-get install php7.0 libapache2-mod-php7.0 php7.0-mbstring php7.0-curl php7.0-zip php7.0-gd php7.0-mysql php7.0-mcrypt php7.0-xsl php-imagick php7.0-gd php7.0-cli php-pear php7.0-intl

 

Изменение нескольких параметров PHP по умолчанию:

[destroyer]$ sed -i "s/memory_limit = .*/memory_limit = 256M/" /etc/php/7.0/cli/php.ini
[destroyer]$ sed -i "s/upload_max_filesize = .*/upload_max_filesize = 128M/" /etc/php/7.0/cli/php.ini
[destroyer]$ sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.0/cli/php.ini
[destroyer]$ sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.0/cli/php.ini

 

Включить модуль перезаписи Apache2, если это не было сделано ранее:

[destroyer]$ a2enmod rewrite

 

Для того, чтобы активировать новую конфигурацию, перезапустите веб-сервер Apache, используя следующую команду:

[destroyer]$ service apache2 restart

Установка Composer

Composer является менеджером зависимостей для PHP с помощью которого можно установить пакеты. Composer будет тянуть все необходимые библиотеки и зависимости, необходимые для вашего проекта.

[destroyer]$ curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Установка Magento 2 из Github

Сделайте Клон репозитория Magento в каталог ~/myMagentoSite.com, используя следующую команду:

[destroyer]$ git clone https://github.com/magento/magento2.git /var/www/myMagentoSite.com

 

Получите последний стабильный релиз Magento 2:

[destroyer]$ cd /var/www/myMagentoSite.com
[destroyer]$ git checkout $(git describe --tags $(git rev-list --tags --max-count=1))

 

Запустите composer и установите все зависимости Magento:

[destroyer]$ composer install

 

Чтобы продолжить установку, вы можете использовать мастер установки или командную строку, в данном руководстве мы будем использовать последнюю.

[destroyer]$ bin/magento setup:install \
--base-url=http://myMagentoSite.com/ \
--db-host=localhost \
--db-name=magento \
--db-destroyer=magento \
--db-password=my_strong_password \
--admin-firstname=First  \
--admin-lastname=Last \
--admin-email=destroyer@myMagentoSite.com \
--admin-destroyer=admin \
--admin-password=my_strong_password123 \
--language=en_US \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1

 

Если установка прошла успешно, вы увидите что-то вроде показанного ниже:

[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_t0x0nr

 

Выполните команду crontab, чтобы создать cronjob

crontab -u www-data -e

 

и добавьте следующую строку:

* * * * * /usr/bin/php /var/www/myMagentoSite.com/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/myMagentoSite.com/var/log/magento.cron.log

 

Наконец, установите правильные разрешения:

[destroyer]$ chown -R www-data: /var/www/myMagentoSite.com

Настройка Apache

Создайте новую директиву виртуального хоста в Apache. Например, можно создать файл новой конфигурации Apache под названием «magento.conf» на виртуальном сервере:

[destroyer]$ touch /etc/apache2/sites-available/magento.conf
[destroyer]$ ln -s /etc/apache2/sites-available/magento.conf /etc/apache2/sites-enabled/magento.conf
[destroyer]$ nano /etc/apache2/sites-available/magento.conf

 

Затем добавьте следующие строки:

<VirtualHost *:80>
ServerAdmin admin@yourdomain.com
DocumentRoot /var/www/myMagentoSite.com/
ServerName myMagentoSite.com
ServerAlias www.myMagentoSite.com
<Directory /var/www/myMagentoSite.com/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/myMagentoSite.com-error_log
CustomLog /var/log/apache2/myMagentoSite.com-access_log common
</VirtualHost>

 

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

[destroyer]$ sudo service apache2 restart

 

Вы должны теперь в состоянии войти в свой Magento, перейдя по адресу http://myMagentoSite.com/admin_t0x0nr используя информацию, которую вы установили при запуске bin/magento setup:install.

Установка и настройка Varnish

Установите Varnish, выполнив следующую команду:

[destroyer]$ apt-get install varnish

 

Зайдите в админку Magento, нажмите на ссылку МАГАЗИНЫ (слева боковой панели) -> Конфигурация -> Дополнительно -> Система -> Страница полного Кэша

Снимите выбор со значение использования системы и из списка приложений Caching, выберите Varnish Cache (рекомендуется), сохраните конфигурацию, нажмите на ссылку Настройка Varnish и нажмите на Export VCL для кнопки Varnish 4. Файл varnish.vcl, который мы будем использовать , будет экспортирован в каталог  /var/www/myMagentoSite.com/var/.

Очистить кэш Magento:

[destroyer]$ php bin/magento cache:flush

 

Удалите /etc/varnish/default.vcl и симлинки экспортированной конфигурации varnish.

[destroyer]$ rm -f /etc/varnish/default.vcl
[destroyer]$ ln -sf /var/www/myMagentoSite.com/var/varnish.vcl /etc/varnish/default.vcl

 

Для того, чтобы изменить порт от 6081 на 80 в varnish, нам нужно изменить конфигурацию службы Systemd.

Создайте новый файл customexec.conf

[destroyer]$ mkdir -p /etc/systemd/system/varnish.service.d
[destroyer]$ nano /etc/systemd/system/varnish.service.d/customexec.conf

 

вставьте следующее:

[Service]
ExecStart=
ExecStart=/usr/sbin/varnishd -j unix,destroyer=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m

 

и перезагрузите службу Systemd

[destroyer]$systemctl daemon-reload

 

Теперь нам нужно изменить Apache, чтобы он прослушивал порт от 80 на 8080. Чтобы сделать это, откройте файл конфигурации портов Apache и измените его следующим образом:

[destroyer]$ nano /etc/apache2/ports.conf

Listen 80 -> Listen 8080
[destroyer]$ nano /etc/apache/sites-available/magento.conf

<VirtualHost *:80> -> <VirtualHost *:8080>

 

Если все настроено правильно, то вы должны быть в состоянии войти в свою админку Magento, перейдя по ссылке https://myMagentoSite.com/admin_t0x0nr.

Установка и настройка кеширования Memcache

Memcache является ключевым значением в хранении данных в памяти, и мы будем использовать его для замены Magento 2 Zend_Cache_Backend_File в админке по умолчанию. Установите Memcache, выполнив следующую команду:

[destroyer]$ apt-get install php-memcache memcached

 

Чтобы настроить установку Magento и использовать Memcache для хранения сессии откройте файл app/etc/env.php и измените/добавьте следующее:

[destroyer]$ nano /var/www/myMagentoSite.com/app/etc/env.php

 

изменение:

'session' =>
    array (
    'save' => 'files',
),

с:

'session' =>
   array (
      'save' => 'memcache',
      'save_path' => 'tcp://127.0.0.1:11211'
),

 

Наконец очистите кэш снова:

[destroyer]$ php bin/magento cache:flush

Оптимизация

Для дальнейшей оптимизации вашей установки Magento, перейдите в админ панель управления Magento:

1. Перейдите к вкладке МАГАЗИНЫ -> Конфигурация -> Каталог -> Каталог -> Использовать плоский каталог, выберите Да и нажмите кнопку Сохранить конфигурацию.
2. Перейдите к вкладке МАГАЗИНЫ -> Конфигурация -> Дополнительно -> Разработчик -> Настройки JavaScript и установите: объединить файлы JavaScript и минимизировать файлы JavaScript –  на Да и нажмите кнопку Сохранить конфигурацию.
3. Перейдите к вкладке МАГАЗИНЫ -> Конфигурация -> Дополнительно -> Разработчик -> Параметры CSS и установить: объединить файлы CSS и минимизировать файлы CSS – на Да и нажмите кнопку Сохранить конфигурацию.
4. Рассмотрите возможность использования CDN – сеть доставки контента

Не забудьте очистить кэш снова:

[destroyer]$ php bin/magento cache:flush

Вы также можете посмотреть руководство о том , как ускорить Magento.

Вот и все. Вы успешно установили Magento 2 с Memcache как кэширование хранения сеанса и страниц, Varnish в качестве полного кэширования страниц и Apache на вашей Ubuntu 16.04 VPS. Для получения дополнительной информации о том, как управлять установкой Magento, пожалуйста, обратитесь к официальной документации Magento.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 158

Если статья понравилась, то поделитесь ей в социальных сетях:

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close