Nginx [motorul x] este un software web gratuit și open-source, cross-platform, puternic și software proxy invers scris în C. Este, de asemenea, un server proxy IMAP / POP3 și TCP / UDP standard și poate fi folosit ca echilibru de încărcare.
Nginx este un server HTTP bine cunoscut (comparabil cu serverul HTTP Apache) care alimentează numeroase site-uri de pe web; este popular pentru performanța și stabilitatea sa.
Există diferiți factori importanți de luat în considerare atunci când doriți să îmbunătățiți experiența utilizatorului pe site-ul dvs., inclusiv viteza site-ului și viteza paginii (cunoscută și sub numele de timp de încărcare a paginii). Dacă site-ul dvs. este alimentat de Nginx, atunci îl puteți utiliza ngx_pagespeed în acest scop.
Citire sugerată:Instalați Mod_Pagespeed pentru a îmbunătăți performanța serverului Apache
Ngx_pagespeed este un modul Nginx gratuit și open source utilizat pentru îmbunătățirea vitezei site-urilor, precum și pentru reducerea timpului de încărcare a paginii. Reduce semnificativ timpul necesar utilizatorilor pentru a vedea și interacționa cu conținutul site-ului dvs.
În acest tutorial, vom arăta cum să instalați Nginx cu ngx_pagespeed și testați întreaga instalare pe RHEL / CentOS 7.
Atenţie: Utilizatorii Debian și Ubuntu pot urma acest ghid la Instalați Ngx_Pagespeed pentru a îmbunătăți performanța Nginx.
1. A instala Nginx cu ngx_pagespeed vă cere să îl compilați din sursă. Mai întâi instalați toate pachetele necesare pentru a compila Nginx de la sursă astfel.
# yum install wget gcc cmake unzip gcc-c ++ pcre-devel zlib-devel. SAU. # yum group instalați „Instrumente de dezvoltare”
2. Apoi, obțineți fișiere sursă a celei mai recente versiuni de Nginx (1.13.2 în momentul redactării acestui articol) folosind comanda wget și extrageți mingea de gudron descărcată ca mai jos.
# mkdir ~ / downloads. # cd ~ / downloads. # wget -c https://nginx.org/download/nginx-1.13.2.tar.gz. # tar -xzvf nginx-1.13.2.tar.gz.
3. Apoi, descărcați fișierele sursă ngx_pagespeed și dezarhivați fișierele comprimate.
# wget -c https://github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2-stable.zip. # dezarhivați v1.12.34.2-stable.zip.
4. Acum mutați în directorul ngx_pagespeed dezarhivat și obțineți bibliotecile de optimizare PageSpeed pentru a compila Nginx după cum urmează.
# cd ngx_pagespeed-1.12.34.2-stable / # wget -c https://dl.google.com/dl/page-speed/psol/1.12.34.2-x64.tar.gz. # tar -xvzf 1.12.34.2-x64.tar.gz.
5. Acum intrați în nginx-1.13.2 și configurați sursa Nginx executând comenzile de mai jos.
# cd ~ / downloads / nginx-1.13.2. # ./configure --add-module = $ HOME / downloads / ngx_pagespeed-1.12.34.2-stable / --user = anyone --group = anyone --error-log-path = / var / log / nginx / error.log --http-log-path = / var / log / nginx / access.log --pid-path = / var / run / nginx.pid $ {PS_NGX_EXTRA_FLAGS}
6. Apoi, compilați și instalați Nginx după cum urmează.
# face. # face instalare.
7. Când procesul de instalare este finalizat, creați toate legăturile simbolice necesare pentru Nginx.
# ln -s / usr / local / nginx / conf / / etc / nginx / # ln -s / usr / local / nginx / sbin / nginx / usr / sbin / nginx.
8. Apoi, de când systemd este init sistem în CentOS 7, trebuie să creați manual fișierul de unitate Nginx pentru acesta.
Fisrt, creați fișierul /lib/systemd/system/nginx.service, apoi apuca NGINX systemd service file lipiți configurația fișierului unitate în fișierul de mai jos.
# vi /lib/systemd/system/nginx.service.
Rețineți locația PIDFile si NGINX binar pe care îl setați în timp ce configurați și compilați Nginx, le veți seta în variabilele corespunzătoare din fișierul unității, așa cum se arată mai jos:
[Unitate] Descriere = NGINX HTTP și serverul proxy invers. After = syslog.target network.target remote-fs.target nss-lookup.target [Service] Tip = bifurcare. PIDFile = / var / run / nginx.pid. ExecStartPre = / usr / sbin / nginx -t. ExecStart = / usr / sbin / nginx. ExecReload = / bin / kill -s HUP $ MAINPID. ExecStop = / bin / kill -s QUIT $ MAINPID. PrivateTmp = true [Instalare] WantedBy = multi-user.target.
Salvați fișierul și închideți-l.
9. În acest moment, începeți nginx serviciu pentru timpul mediu și permiteți-i să înceapă la pornirea sistemului executând comenzile de mai jos.
# systemctl pornește nginx. # systemctl activează nginx. # systemctl status nginx.
10. Cu Nginx instalat, în continuare, trebuie să activați Ngx_pagespeed modul. Începeți prin a crea un director în care modulul va memora în cache fișierele site-ului dvs. web și va seta permisiunile corespunzătoare pentru acest director cu comenzile de mai jos.
# mkdir -p / var / ngx_pagespeed_cache. # chown -R nimeni: nimeni / var / ngx_pagespeed_cache.
11. Acum este timpul să activați Ngx_pagespeed, deschideți fișierul de configurare Nginx și adăugați liniile de mai jos.
Important: Dacă ați configurat vreunul gazdele virtuale nginx de pe server, adăugați directivele de viteză de pagină de mai sus la fiecare bloc de server pentru a activa Ngx_pagespeed pe fiecare site.
# vi /etc/nginx/nginx.conf.
Adăugați următoarele Ngx_pagespeed liniile de configurare din cadrul blocului server.
# Pagespeed principal setări speedpeps pe; pagespeed FileCachePath / var / ngx_pagespeed_cache; # Asigurați-vă că solicitările de resurse optimizate pentru viteză de pagină merg la viteza de pagină. # handler și nu se stabilesc anteturi străine. location ~ "\ .pagespeed \. ([a-z] \.)? [a-z] {2} \. [^.] {10} \. [^.] +" {add_header "" ""; } locație ~ "^ / ngx_pagespeed_static /" {} locație ~ "^ / ngx_pagespeed_beacon" {}
Următorul este un exemplu de lucru al fișierului de configurare Nginx cu Ngx_pagespeed activat în gazda virtuală implicită.
Configurare Nginx cu Ngx_pagespeed
#user nimeni; lucrător_procese 1; #error_log logs / error.log; #error_log logs / error.log notice; #error_log logs / error.log info; #pid logs / nginx.pid; evenimente {lucrător_conexiuni 1024; } http {include mime.types; 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 / access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server {asculta 80; server_name localhost; #charset koi8-r; #access_log logs / host.access.log main;# Pagespeed principal setări speedpeps pe; pagespeed FileCachePath / var / ngx_pagespeed_cache; # Asigurați-vă că solicitările de resurse optimizate pentru viteză de pagină merg la paginarea # handler și că nu sunt setate anteturi străine. location ~ "\ .pagespeed \. ([a-z] \.)? [a-z] {2} \. [^.] {10} \. [^.] +" {add_header "" ""; } location ~ "^ / ngx_pagespeed_static /" {} location ~ "^ / ngx_pagespeed_beacon" {} locație / {root html; index index.html index.htm; } #error_page 404 /404.html; # redirecționează paginile de eroare ale serverului către pagina statică /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html {root html; } # proxy scripturile PHP către Apache ascultând pe 127.0.0.1:80 # #location ~ \ .php $ {# proxy_pass http://127.0.0.1; #} # treceți scripturile PHP către serverul FastCGI ascultând pe 127.0.0.1:9000 # #location ~ \ .php $ {# root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME / scripturi $ fastcgi_script_name; # include fastcgi_params;. #}} # altă gazdă virtuală utilizând o configurație bazată pe IP, nume și port # #server {# asculta 8000; # ascultați numele: 8080; # server_name somename alias another.alias; # location / {# root html; # index index.html index.htm; #} #} # Server HTTPS # #server {# asculta 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared: SSL: 1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:! aNULL:! MD5; # ssl_prefer_server_ciphers on; # location / {# root html; # index index.html index.htm; # } #} }
12. Apoi, asigurați-vă că fișierul de configurare Nginx nu conține erori executând comanda de mai jos, veți vedea rezultatul de mai jos dacă totul este bine.
# nginx -t.
13. În cele din urmă, reporniți serverul Nginx pentru ca modificările să aibă efect.
# systemctl reporniți nginx.
14. Să știu dacă Ngx_pagespeed lucrează acum împreună cu Nginx, trebuie să apară în X-Page-Speed antet.
# curl -I -p http://localhost.
În cazul în care nu ați reușit să vedeți antetul de mai sus, reveniți la pasul 11 și urmați cu atenție instrucțiunile pentru a activa Ngx-pagespeed cu pașii următori.
Ngx-pagespeed depozit Github: https://github.com/pagespeed/ngx_pagespeed
Asta e tot! În acest tutorial, am arătat cum să instalați și să configurați Nginx cu modulul Ngx_pagespeed pentru a optimiza și îmbunătăți performanța site-ului și reduce timpul de încărcare a paginii.
Pentru a securiza serverul web Nginx, citiți acest articol - Ghidul final pentru securizarea, întărirea și îmbunătățirea performanței serverului web Nginx.
Ca întotdeauna, nu ezitați să ne anunțați orice întrebări sau gânduri referitoare la acest tutorial.