Neste tutorial, iremos ensinar a como instalar o NGINX com suporte a HTTP/2 num servidor CentOS.
Num futuro tutorial, iremos abordar a criação de um servidor NGINX a partir da fonte, compilando somente módulos necessários e também o suporte para o NGX_PAGESPEED, que é a ferramenta da Google para aumentar ainda mais a velocidade de carregamento de websites através da otimização do código fonte diretamente em sua geração.
Para começar, precisamos:
-> servidor CentOS 6 / 64 ou 32 bits
-> certificado SSL
-> domínio registrado e funcional
Vamos começar adicionando o repositório do NGINX no servidor:
nano /etc/yum.repos.d/nginx.repo
Dentro deste arquivo, insira:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
Feche-o e salve.
Instale o NGINX:
yum install nginx -y
Provavelmente o httpd já está instalado em seu servidor, então remova-o e pare ele:
service httpd stop
yum remove httpd -y
Agora, podemos prosseguir com a configuração do NGINX.
Edite o arquivo principal e faça a troca da porta de escuta e do protocolo:
nano /etc/nginx/conf.d/default.conf
Troque listen 80; por:
listen 443 ssl http2;
Troque o domínio padrão para o seu domínio (estará como server_name localhost);
server_name meudominio.com.br;
Crie a pasta que irá armazenar seu certificado SSL e sua chave privada:
mkdir /etc/nginx/ssl
Via FTP ou outro modo desejado, envie os arquivos à pasta recém criada de forma com que fiquem parecidos com isto:
Arquivo de certificado: /etc/nginx/ssl/meudominio.com.br.crt
Arquivo de chave privada: /etc/nginx/ssl/meudominio.com.br.key
Agora no arquivo /etc/nginx/conf.d/default.conf novamente, vamos criar o bloco ‘server’ e o bloco com a porta 80, que irá transferir as requisições não-ssl para nosso servidor ssl:
server {
listen 443 ssl http2;
server_name meudominio.com.br;
ssl_certificate /etc/nginx/ssl/meudominio.com.br.crt;
ssl_certificate_key /etc/nginx/ssl/meudominio.com.br.key;
location / { root /var/www/html; index index.html index.htm; }
}
server {
listen 80;
server_name meudominio.com.br;
return 301 https://$server_name$request_uri;
}
Salve e feche o arquivo. Após, reinicie seu nginx e ele já deverá estar respondendo às requisições em SSL e com suporte a HTTP/2.
service nginx restart
Você poderá assegurar que as requisições estão sendo respondidas no novo protocolo com este site:
https://tools.keycdn.com/http2-test
Digite o seu domínio e pressione ‘Test’. A resposta deverá ser parecida com esta, e se estiver verde, está tudo ok!