Использование http2 протокола для apache2 и ubuntu 18.04

Аватар пользователя jura12 jura12 2 апреля в 14:41

Протокол http2 призван ускорить интернет и уменьшить трафик. Хотел внедрить его на моем хостинге но оказалось что в конфигурации apache + mod_php + mpm prefork он не работает. Эта статья показывает какими командами можно быстро переделать конфигурацию в apache + php_fpm + mpm event + http2. Для успешной настройки нужен уже сконфигурированный https протокол (сертификат и настройки сайта для apache).

Устанавливаем правильную комбинацию apache и php

sudo add-apt-repository ppa:ondrej/php
sudo add-apt-repository ppa:ondrej/apache2
sudo apt update
sudo apt upgrade
sudo apt install apache2
sudo a2dismod php7.3
sudo systemctl stop apache2

sudo apt install php7.3-fpm
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.3-fpm

sudo a2dismod mpm_itk
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event

Добавляем в настройки действующего сайта ssl в каталоге /etc/apache2/sites-enabled/ в разделе <VirtualHost *:443> строку Protocols h2 h2c http/1.1

Для запуска от пользователя меняем пользователя user = myusername и группу group = myusername в файле sudo nano /etc/php/7.3/fpm/pool.d/www.conf . это мне нужно чтобы было удобней работать с сайтом и производить бэкап сайта.

Запускаем

sudo a2enmod http2
sudo service apache2 restart

Посмотреть использование протокола можно с помощью расширения HTTP/2 and SPDY indicator для броузера chrome.

Комментарии

Аватар пользователя bsyomov bsyomov 2 апреля в 17:49

А теперь, раз уж mod_php не используется, следующий логичный шаг, и вовсе избавиться от apache. Smile

Кстати, лучше было бы создать просто другой пулл с нужным пользователем, а не менять www. пулл www, который идёт по умолчанию, может использоваться разными приложениями устанавливаемыми из репозиториев, например, каким-нибудь phpmyadmin, и они расчитывают на пользователя www-data. Если же он не нужен, лучше просто отключить.