Acelere o desempenho do nginx com ngx_pagespeed no CentOS 7

Acelere o desempenho do nginx com ngx_pagespeed no CentOS 7

Nginx [Engine X] é um servidor web gratuito e de código aberto, de plataforma cruzada e poderosa e software de proxy reverso escrito em C. É também um servidor IMAP/POP3 e TCP/UDP padrão e pode ser usado como um balanceador de carga.

O NGINX é um servidor HTTP bem conhecido (comparável ao servidor Apache HTTP) alimentando vários sites na Web; é popular por seu alto desempenho e estabilidade.

Existem vários fatores importantes a serem considerados quando você deseja melhorar a experiência do usuário em seu site, incluindo velocidade do site e velocidade da página (também conhecida como tempo de carregamento da página). Se o seu site for alimentado pelo Nginx, você poderá usar ngx_pagespeed para esse fim.

Leia sugerida: Instale mod_pagespeed para melhorar o desempenho do servidor Apache

Ngx_pagespeed é um módulo Nginx de código aberto e de código aberto usado para melhorar a velocidade dos sites, bem como a redução do tempo de carregamento da página. Reduz significativamente o tempo que leva para os usuários verem e interagir com o conteúdo do seu site.

Recursos ngx_pagespeed:

  • Suporte para controle HTTPS e URL.
  • Otimização da imagem: retirando metadados, redimensionamento dinâmico, recompressão.
  • CSS e JavaScript Minification, Concatenation, Inlining e Opherling.
  • Pequeno recurso em linha.
  • Imagem de adiamento e carregamento de javascript.
  • Reescrita HTML.
  • Extensão da vida útil do cache.
  • Permite configurar para vários servidores e muitos outros.

Neste tutorial, mostraremos como instalar Nginx com ngx_pagespeed e testar toda a instalação em RHEL/CENTOS 7.

Atenção: Usuários de Debian e Ubuntu podem seguir este guia para instalar ngx_pagespeed para melhorar o desempenho do NGINX.

Etapa 1: Instale o nginx da fonte

1. Para instalar Nginx com ngx_pagespeed exige que você o compile da fonte. Primeiro instale todos os pacotes necessários para compilar o nginx de fonte como esta.

# yum install wget gcc cmake desnzip gcc-c ++ pcre-devel zlib-devel ou # yum grupo de instalação "ferramentas de desenvolvimento" 
Instale ferramentas de desenvolvimento no CentOS 7

2. Em seguida, obtenha arquivos de origem da versão mais recente do nginx (1.13.2 no momento da redação deste artigo) usando o comando wget e extraia a bola de alcatrão baixada como abaixo.

# mkdir ~/downloads # cd ~/downloads # wget -c https: // nginx.org/download/nginx-1.13.2.alcatrão.gz # tar -xzvf nginx -1.13.2.alcatrão.gz 
Baixar arquivos de origem nginx

3. Em seguida, faça o download dos arquivos de origem ngx_pagespeed e arquivos compactados descompactados.

# wget -c https: // github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2 estábulo.ZIP # UNZIP V1.12.34.2 estábulo.fecho eclair 
Baixe ngx_pagespeed

4. Agora mova -se para o diretório NGX_PAGESPEED NGX_PAGES e Obtenha as bibliotecas de otimização do PageSpeed ​​para compilar o nginx da seguinte forma.

# cd ngx_pagespeed-1.12.34.2 -estável/ # wget -c https: // dl.Google.com/dl/página-speed/psol/1.12.34.2-x64.alcatrão.gz # tar -xvzf 1.12.34.2-x64.alcatrão.gz 
Baixe as bibliotecas de otimização do PageSpeed

Etapa 2: Configurar e compilar Nginx com NGX_PAGESPEED

5. Agora vá para o nginx-1.13.2 diretório e configure a fonte nginx executando os comandos abaixo.

# cd ~/downloads/nginx-1.13.2 # ./configure --add-module = $ home/downloads/ngx_pagespeed-1.12.34.2-stable/--User = ninguém --group = ninguém --error-log-path =/var/log/nginx/erro.log-http-log-pat =/var/log/nginx/acesso.log-pid-path =/var/run/nginx.pid $ ps_ngx_extra_flags 
Configurar nginx com ngx_pagespeed

6. Em seguida, compilar e instalar Nginx do seguinte modo.

# faça # fazer instalar 
Compilar Nginx com ngx_pagespeed

7. Quando o processo de instalação estiver concluído, crie todos os symlinks necessários para o nginx.

# ln -s/usr/local/nginx/conf/etc/nginx/ # ln -s/usr/local/nginx/sbin/nginx/usr/sbin/nginx 
Crie Nginx Symlinks

Etapa 3: Criando arquivo da unidade Nginx para Systemd

8. Em seguida, desde então Systemd é o iniciar sistema em CENTOS 7, você precisa criar manualmente o arquivo da unidade nginx para ele.

Fisrt, crie o arquivo /lib/systemd/System/nginx.serviço, Em seguida, pegue o arquivo de serviço nginx systemd cola a configuração do arquivo de unidade no arquivo abaixo.

# vi/lib/systemd/system/nginx.serviço 

Tome nota da localização do Pidfile e a Nginx Binário que você define durante a configuração e compilação nginx, você as definirá nas variáveis ​​apropriadas no arquivo da unidade, como mostrado abaixo:

[Unidade] Descrição = o nginx http e servidor proxy reverso depois = syslog.rede de destino.alvo remoto-fs.Target NSS-Lookup.Target [Service] Type = Freking pidfile =/var/run/nginx.pid execstartPre =/usr/sbin/nginx -t execStart =/usr/sbin/nginx execreload =/bin/kill -s hup $ mainpid execstop =/bin/kill -s desistir $ mainpid privateTmp = true [install] querido = = multi -do utilizador.alvo 
Nginx Systemd Service Unit File

Salve o arquivo e feche-o.

9. Neste ponto, comece nginx Serviço para o tempo médio e permita que ele comece na inicialização do sistema executando os comandos abaixo.

# SystemCtl Iniciar nginx # SystemCtl Ativar nginx # Systemctl Status nginx 
Inicie e habilite o nginx

Etapa 4: Configure o nginx com o módulo PageSpeed

10. Com o nginx instalado, em seguida, você precisa ativar Ngx_pagespeed módulo. Comece criando um diretório em que o módulo cache os arquivos do seu site e definirá as permissões apropriadas neste diretório com os comandos abaixo.

# mkdir -p /var /ngx_pagespeed_cache # chown -r ninguém: ninguém /var /ngx_pagespeed_cache 
Crie diretório de cache nginx

11. Agora é hora de ativar Ngx_pagespeed módulo, abra o arquivo de configuração nginx e adicione as linhas abaixo.

Importante:.

# vi/etc/nginx/nginx.conf 

Adicione o seguinte Ngx_pagespeed Linhas de configuração dentro do bloco do servidor.

# PageSpeed ​​Principais configurações PágesPeed ON; PAGESPEED FileCachepath /var /ngx_pagespeed_cache; # Verifique se as solicitações de recursos otimizados da PageSpeed ​​vão para o manipulador de PagesPeed # e nenhum cabeçalho estranho é definido. Localização ~ "\.Pagespeed \.([a-z] \.)?[a-z] 2 \.[^.] 10 \.[^.]+"add_header" "" "; localização ~"^/ngx_pagespeed_static/" localização ~"^/ngx_pagespeed_beacon " 

A seguir, é apresentado um exemplo de funcionamento do arquivo de configuração nginx com Ngx_pagespeed ativado no host virtual padrão.

Configuração Nginx com NGX_PAGESPEED
#user ninguém; trabalhador_processos 1; #error_log logs/erro.registro; #error_log logs/erro.Aviso de log; #error_log logs/erro.informações de log; #pid logs/nginx.pid; eventos trabalhador_connections 1024;  http inclua MIME.tipos; default_type Application/Octet-Stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/acesso.log main; sendfile on; #tcp_nopush ligado; #keepalive_timeout 0; Keepalive_timeout 65; #gzip em; servidor ouça 80; server_name localhost; #charset koi8-r; #access_log logs/host.acesso.log main; # PageSpeed ​​Principais configurações PágesPeed ON; PAGESPEED FileCachepath /var /ngx_pagespeed_cache; # Verifique se as solicitações de recursos otimizados da PageSpeed ​​vão para o manipulador de PagesPeed # e nenhum cabeçalho estranho é definido. Localização ~ "\.Pagespeed \.([a-z] \.)?[a-z] 2 \.[^.] 10 \.[^.]+"add_header" "" "; localização ~"^/ngx_pagespeed_static/" localização ~"^/ngx_pagespeed_beacon " localização / root html; ÍNDICE ÍNDICE.Índice HTML.htm;  #error_page 404/404.html; # Redirecionar páginas de erro do servidor para a página estática /50x.html # error_page 500 502 503 504 /50x.html; Localização = /50x.html root html;  # Proxy Os scripts PHP para ouvir Apache em 127.0.0.1:80 # #location ~ \.php $  # proxy_pass http: // 127.0.0.1; # # Passe os scripts PHP para o servidor FastCGI ouvindo em 127.0.0.1: 9000 # #location ~ \.php $  # root html; # fastcgi_pass 127.0.0.1: 9000; # Índice fastcgi_index.php; # fastcgi_param script_filename /scripts $ fastcgi_script_name; # inclua fastcgi_params; # # negar acesso a .Arquivos Htaccess, se o documento do Apache # concordar com o # # #location # /\ da nginx ~ /\.ht  # negar tudo; # # Outro host virtual usando a mistura de configuração IP-, nome- e baseada em porta # #Server  # Ouça 8000; # Ouça Somename: 8080; # server_name somename alias outro.Alias; # localização /  # root html; # Índice Índice.Índice HTML.htm; # # # HTTPS Server # #Server  # Ouça 443 SSL; # server_name localhost; # ssl_certificate cert.PEM; # ssl_certificate_key cert.chave; # ssl_session_cache compartilhado: ssl: 1m; # ssl_session_timeout 5m; # SSL_CIPHERS High:!Anull:!Md5; # ssl_prefer_server_ciphers on; # localização /  # root html; # Índice Índice.Índice HTML.htm; # # 

12. Posteriormente, verifique se o arquivo de configuração nginx está livre de erros executando o comando abaixo, você verá a saída abaixo se tudo estiver bem.

# nginx -t 
Verifique a configuração do nginx quanto a erros

13. Finalmente, reinicie o servidor nginx para que as alterações entrem em vigor.

# SystemCtl Reiniciar nginx 

Etapa 5: Testando o nginx com ngx_pagespeed

14. Para saber se Ngx_pagespeed agora está trabalhando em conjunto com o nginx, ele deve aparecer no X-PAGE-SPAGE cabeçalho.

# curl -i -p http: // localhost 
Teste o nginx com ngx_pagespeed

Caso você tenha falhado em ver o cabeçalho acima, volte à etapa 11 e siga cuidadosamente as instruções para ativar o NGX-PAGESPEED com as etapas subsequentes.

Repositório Github NGX-PAGEED: https: // github.COM/PAGESPEED/NGX_PAGESPEED

Isso é tudo! Neste tutorial, mostramos como instalar e configurar o nginx com o módulo ngx_pagespeed para otimizar e melhorar o desempenho do site e reduzir o tempo de carregamento da página.

Para proteger o servidor da web nginx, leia este artigo - o melhor guia para proteger, endurecer e melhorar o desempenho do Nginx Web Server.

Como sempre, não hesite em nos informar qualquer dúvida ou pensamento sobre este tutorial.