Nginx уже достаточно давно зарелизил версию 1.9 один из интересных моментов которой поддержка протокола «http2». Единственное что меня держало от ручного обновления, отсутствие в репозитариях указанной ветки.
Но все оказалось намного просто, для CentOS 6 меняем в описании репозитария (/etc/yum.repos.d/nginx.repo)
«packages/centos» на «packages/mainline/centos»:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/6/$basearch/ gpgcheck=0 enabled=1
[nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/centos/6/$basearch/ gpgcheck=0 enabled=1
Cпокойно обновляемся, но не перегружаем демона!
Пакет Архитектура Версия Репозиторий Размер ======================================================================================================================= nginx x86_64 1.9.9-1.el6.ngx nginx 767 k
Проверяем версию демона:
# nginx -v nginx version: nginx/1.9.9
Проверяем конфигурацию nginx:
service nginx configtest nginx: [warn] invalid parameter "spdy": ngx_http_spdy_module was superseded by ngx_http_v2_module in /etc/nginx/conf.d/shurshun.ru.ssl.conf:2 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Если вы используете https и spdy, то последний необходимо заменить на http2:
listen 443 spdy; -> listen 443 http2;
После проведенных работ, еще раз убеждаемся, что конфигурация собрана нормально:
# service nginx configtest nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Делаем restart:
service nginx restart
Если все хорошо, то под chrome можно увидеть поддержку протокола h2 (на стартовой картинке к данному посту).