Acelere o desempenho do nginx com ngx_pagespeed no CentOS 7
- 1507
- 68
- Arnold Murray
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.gzBaixar 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 eclairBaixe 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.gzBaixe 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_flagsConfigurar nginx com ngx_pagespeed
6. Em seguida, compilar e instalar Nginx do seguinte modo.
# faça # fazer instalarCompilar 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/nginxCrie 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.alvoNginx 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 nginxInicie 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_cacheCrie 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 -tVerifique 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: // localhostTeste 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.
- « Como instalar o Vagrant no CentOS 7
- Configurando pré -requisitos para instalação do Oracle 12C no RHEL/CENTOS/Oracle Linux 6.5 - Parte I »