HTTP/2 на этом сайте
Submitted by Ромка on Вс, 25/10/2015 - 16:45
Обновил на этом сайте nginx до версии 1.9.5 и включил поддержку HTTP/2. Для теста погонял сайт до и после на WebPagetest. Честно говоря, результат измерений не сильно впечатлил, вот результат до:
а вот после:
Но визуально, возможно подсознательно, кажется что сайт стал грузиться шустрее.
Ниже информация о том, что нужно сделать для апгрейда nginx в Ubuntu.
Сначала обязательно сделайте резервную копию директории с конфигами веб-сервера — скопировать стоит всю директорию /etc/nginx
.
Затем проверьте какая версия уже установлена и какая доступна:
sudo apt-cache policy nginx nginx: Installed: 1.4.6-1ubuntu3.1 Candidate: 1.4.6-1ubuntu3.1 Version table: *** 1.4.6-1ubuntu3.1 0 500 http://mirrors.digitalocean.com/ubuntu/ trusty-updates/main amd64 Packages 500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages 100 /var/lib/dpkg/status 1.4.6-1ubuntu3 0 500 http://mirrors.digitalocean.com/ubuntu/ trusty/main amd64 Packages
В моем случае в официальном репозитории Ubuntu пока лежит nginx 1.4.6, но я знаю, что в репозитории разработчиков nginx доступен пакет с версией 1.9.5. Для того чтобы добавить этот репозиторий создайте в директории /etc/apt/sources.list.d
файл nginx.list
с таким содержимым:
deb http://nginx.org/packages/mainline/ubuntu/ trusty nginx deb-src http://nginx.org/packages/mainline/ubuntu/ trusty nginx
Далее, чтобы при установке не получить ошибку: W: GPG error: http://nginx.org trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ABF5BD827BD9BF62
скачайте с http://nginx.org/en/linux_packages.html ключ http://nginx.org/keys/nginx_signing.key и добавьте его в keyring:
wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key
Теперь обновим информацию о репозиториях и еще раз посмотрим какие версии nginx доступны, должен получиться результат вида:
sudo apt-get update sudo apt-cache policy nginx nginx: Installed: 1.4.6-1ubuntu3.1 Candidate: 1.9.5-1~trusty Version table: 1.9.5-1~trusty 0 500 http://nginx.org/packages/mainline/ubuntu/ trusty/nginx amd64 Packages 1.4.6-1ubuntu3.3 0 500 http://mirrors.digitalocean.com/ubuntu/ trusty-updates/main amd64 Packages *** 1.4.6-1ubuntu3.1 0 500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages 100 /var/lib/dpkg/status 1.4.6-1ubuntu3 0 500 http://mirrors.digitalocean.com/ubuntu/ trusty/main amd64 Packages
Еще раз убедитесь, что забэкапили директорию /etc/nginx
. В моем случае пришлось удалить старую версию nginx, иначе я получал такую же ошибку какая описана тут, а удаление текущей версии программы удаляет существующие конфиги, поэтому критически важно иметь их резервную копию перед выполнением следующего шага. Удаляем текущую версию nginx:
sudo apt-get purge nginx nginx-common
И ставим новую версию:
sudo apt-get install nginx nginx -v nginx version: nginx/1.9.5
Готово.
Теперь осталось вернуть на место конфиги из бэкапа и активировать HTTP/2 для выбранных хостов. В моем случае я заменил в конфиге:
server { listen 443 ssl; server_name romka.eu; ... }
на:
server { listen 443 ssl http2; server_name romka.eu; ... }
Последние комментарии