Zainstaluj Nginx z NGX_Pagespeed (optymalizacja prędkości) na Debian i Ubuntu

Zainstaluj Nginx z NGX_Pagespeed (optymalizacja prędkości) na Debian i Ubuntu

W naszym ostatnim artykule pokazaliśmy, jak przyspieszyć wydajność Nginx za pomocą NGX_Pagespeed na Centos 7. W tym samouczku wyjaśnimy, jak zainstalować NGINX z NGX_PAGESPEED w systemie Debian i Ubuntu, aby poprawić wydajność stron internetowych Nginx.

Nginx [Engine X] to bezpłatny i open source, popularny serwer HTTP zasilający wiele witryn w Internecie: dobrze znany z wysokiej wydajności i stabilności. Działa również jako odwrotny serwer proxy, ogólny serwer serwera proxy TCP/UDP, a także może być wdrażany jako równoważenie obciążenia.

Ngx_pagespeed jest bezpłatnym i open source moduł Nginx przeznaczony do poprawy prędkości witryn, a także skrócenia czasu ładowania strony; Drastycznie obniża czas potrzebny na przeglądanie i interakcję z treścią w Twojej witrynie.

Sugerowane przeczytanie: Zainstaluj mod_pagespeed, aby poprawić wydajność serwera Apache

NGX_PAGESPEED Funkcje:

  • Obsługa HTTPS z kontrolą adresu URL.
  • Optymalizacja obrazu: usuwanie meta-data, dynamiczne rozmiar, rekompresja.
  • CSS i JavaScript Minification, Conateenation, Conlining and Resenting.
  • Małe inlinowanie zasobów.
  • Deferring Image i JavaScript Ładowanie.
  • HTML przepisanie.
  • Rozszerzenie życia pamięci podręcznej.
  • Umożliwia konfigurację wielu serwerów i wielu innych.

Krok 1: Instalacja Nginx ze źródła

1. Żeby zainstalować Nginx z ngx_pagespeed ze źródła wymaganego następujących pakietów do zainstalowania w systemie.

$ sudo apt-get instaluj kompilację Zlib1g-dev libpcre3 libpcre3-dev unzip 
Zainstaluj budowę niezbędnych narzędzi na Ubuntu

2. Następnie pobierz pliki źródłowe najnowszej wersji Nginx (1.13.2 w momencie pisania) za pomocą polecenia WGET i wyodrębnia pliki, jak pokazano poniżej.

$ mkdir -p ~/make_nginx $ cd ~/make_nginx $ wget -c https: // nginx.org/pobierz/nginx-1.13.2.smoła.GZ $ TAR -XZVF Nginx -1.13.2.smoła.GZ 
Pobierz pakiet źródłowy Nginx

3. Następnie zdobądź ngx_pagespeed Pliki źródłowe i rozpakuj skompresowany plik w ten sposób.

$ wget -c https: // github.com/pagespeed/ngx_pagespeed/archiwum/v1.12.34.2-stabilny.Zip $ Unzip v1.12.34.2-stabilny.zamek błyskawiczny 
Pobierz pliki źródłowe NGX_Pagespeed

4. Następnie przejdź do rozpakowanych ngx_pagespeed katalog i pobierz biblioteki optymalizacji Pagespeed, aby skompilować Nginx w następujący sposób.

$ cd ngx_pagespeed-1.12.34.2 -stabilny/$ wget -c https: // dl.Google.com/dl/page-speed/PSOL/1.12.34.2-x64.smoła.gz $ tar -xvzf 1.12.34.2-x64.smoła.GZ 
Pobierz biblioteki Pagespeed

Krok 2: Skonfiguruj i skompiluj Nginx z NGX_PAGESPEED

5. Następny przejdź do Nginx-1.13.2 katalog i skonfiguruj źródło nginx za pomocą następujących poleceń.

$ cd ~/make_nginx/nginx-1.13.2 $ ./Configure --add-Module = $ home/make_nginx/ngx_pagespeed-1.12.34.2-stabilny/ $ ps_ngx_extra_flags 
Skonfiguruj Nginx z modułem NGX_Pagespeed

6. Następnie skompiluj i zainstaluj Nginx w następujący sposób.

$ Make $ sudo tworzy instalację 
Zainstaluj Nginx z NGX_PAGESPEED

7. Po zakończeniu procesu instalacji uruchom poniższe polecenia, aby utworzyć niezbędne symlinki dla Nginx.

$ sudo ln -s/usr/local/nginx/conf//etc/nginx $ sudo ln -s/usr/local/nginx/sbin/nginx/usr/sbin/nginx 

Krok 3: Tworzenie pliku jednostki Nginx dla systemd

8. Tutaj będziesz musiał ręcznie utworzyć plik jednostki Nginx, ponieważ SystemD jest systemem init w nowszych wersjach systemu Debian i Ubuntu

Fisrt, utwórz plik /lib/systemd/system/nginx.praca.

$ sudo vi/lib/systemd/system/nginx.praca 

Następnie pobierz plik usługi Nginx SystemD wklej konfigurację pliku jednostki w pliku.

[Jednostka] Opis = nginx http i odwrotny serwer proxy po = syslog.Sieć docelowa.celowe zdalne fs.Target NSS-Hookup.Target [Service] Typ = Forking Pidfile =/var/run/nginx.PID execTartpre =/usr/sbin/nginx -t execTart =/usr/sbin/nginx execreload =/bin/kill -s hup $ mainPid execstop =/bin/kill -s requit $ mainPID privateTMP = true [instalacja] potrzebuje = multi -użytkownik.cel 

Zapisz plik i zamknij go.

9. Teraz zacznij nginx na razie i umożliwić rozpoczęcie działalności w systemie za pomocą poniższych poleceń.

$ sudo systemctl start nginx $ sudo systemctl włącz nginx 

Ważny: Po uruchomieniu usługi Nginx możesz zobaczyć błąd, jak pokazano w zrzucie ekranu poniżej.

Systemd [1]: nginx.Usługa: plik PID /run /nginx.PID nie jest czytelny (jeszcze?) Po uruchomieniu: brak takiego pliku lub katalogu 
Nginx nie uruchomił błędu

Aby go rozwiązać, otwórz konfigurację Nginx /etc/nginx/nginx.conf Plik i dołącz następujący wiersz.

#pid logs/nginx.pid; do PID /run /nginx.pid; 

Wreszcie ponownie uruchom ponownie usługę Nginx.

$ sudo systemCtl Demon-Reload $ sudo systemctl start nginx $ sudo systemCtl Status nginx 

Krok 4: Skonfiguruj Nginx z modułem Pagespeed

10. Teraz, gdy Nginx jest zainstalowany i uruchomiony w systemie, musisz włączyć moduł NGX_PageSpeed. Najpierw utwórz katalog, w którym moduł będzie buforował pliki dla Twojej witryny i ustawić odpowiednie uprawnienia w tym katalogu w następujący sposób.

$ sudo mkdir -p /var /ngx_pagespeed_cache $ sudo chown -r nikt: nogroup /var /ngx_pagespeed_cache 

11. Aby włączyć moduł NGX_Pagespeed, otwórz plik konfiguracyjny Nginx.

$ sudo vi/etc/nginx/nginx.conf 

Dodaj następujące linie konfiguracyjne NGX_Pagespeed w bloku serwera.

# Pagespeed główne ustawienia Pagespeed ON; pagespeed filecachepath /var /ngx_pagespeed_cache; # Upewnij się, że prośby o zasoby zoptymalizowane PagesPeed Przejdź do obsługi Pagespeed # i nie ustawiają się żadnych obcych nagłówków. Lokalizacja ~ "\.pagespeed \.([a-z] \.)?[A-Z] 2 \.[^.] 10 \.[^.]+"add_header" ""; 

Notatka: Jeśli wdrożyłeś dowolne wirtualne hosty Nginx na serwerze, dodaj powyższe dyrektywy PageSpeed ​​do każdego bloku serwera, aby włączyć NGX_Pagespeed na każdej witrynie.

Poniżej znajduje się działający przykład pliku konfiguracyjnego Nginx z Ngx_pagespeed Włączone w domyślnym hoście wirtualnym.

Konfiguracja NGINX z NGX_PAGESPEED
#User Nikt; robotnik_processes 1; #error_log dzienniki/błąd.dziennik; #error_log dzienniki/błąd.Zrejestrowanie zawiadomienia; #error_log dzienniki/błąd.Informacje o dzienniku; PID /run /nginx.pid; zdarzenia robotnik_connections 1024;  http obejmuje mime.typy; 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_fecwarded_for' '; #Access_Log Logs/Access.Log Main; Sendfile na; #tcp_nopush on; #keepalive_timeout 0; KeepAlive_Timeout 65; #Gzip on; serwer Słuchaj 80; Server_name LocalHost; #Carset Koi8-R; #Access_Log Logs/host.dostęp.Log Main; # Pagespeed główne ustawienia Pagespeed ON; pagespeed filecachepath /var /ngx_pagespeed_cache; # Upewnij się, że prośby o zasoby zoptymalizowane PagesPeed Przejdź do obsługi Pagespeed # i nie ustawiają się żadnych obcych nagłówków. Lokalizacja ~ "\.pagespeed \.([a-z] \.)?[A-Z] 2 \.[^.] 10 \.[^.]+"add_header" ""; lokalizacja / root html; indeks indeksu.Indeks HTML.HTM;  #error_page 404 /404.html; # Przekierowanie stron błędów serwera do strony statycznej /50x.html # error_page 500 502 503 504 /50x.html; Lokalizacja = /50x.html root html;  # Proxy Scripty PHP do Apache Słuchanie w 127.0.0.1:80 # #Location ~ \.php $  # proxy_pass http: // 127.0.0.1; # # Przekaż skrypty PHP do serwera FastCGI słuchania w 127.0.0.1: 9000 # #Location ~ \.php $  # root html; # fastcgi_pass 127.0.0.1: 9000; # indeks fastcgi_index.php; # fastcgi_param script_filename /scripts $ fastcgi_script_name; # Uwzględnij fastcgi_params; # # Odmów dostępu do .Pliki htaccess, jeśli root dokumentu Apache # zgadza się z jednym # #Location ~ /\.ht  # odmów wszystkich; # # Kolejny wirtualny host za pomocą mieszanki konfiguracji IP, nazwy i portu # #Server  # Listen 8000; # Słuchaj somenamii: 8080; # Server_name somename alias inna.Alias; # lokalizacja /  # root html; # indeks indeksu.Indeks HTML.HTM; # # # Https Server # #Server  # Słuchaj 443 SSL; # Server_name LocalHost; # Cert Certificate Cert.pem; # ssl_certificate_key cert.klucz; # SSL_SESSION_CACHE SHARED: SSL: 1M; # ssl_session_timeout 5m; # SSL_CIPHERS HIGH:!anull:!MD5; # ssl_prefer_server_ciphers on; # lokalizacja /  # root html; # indeks indeksu.Indeks HTML.HTM; # # 

Zapisz i zamknij plik.

12. Następnie sprawdź, czy składnia pliku konfiguracyjnego Nginx jest wolna od błędu, uruchamiając poniższe polecenie, jeśli jest poprawne, zobaczysz poniższe dane:

$ sudo nginx -t nginx: plik konfiguracyjny/usr/local/nginx/conf/nginx.Składnia konf.Test COND jest skuteczny 

13. Następnie uruchom ponownie serwer Nginx, aby wprowadzić ostatnie zmiany.

$ sudo systemctl restart nginx 

Krok 5: Testowanie Nginx z Ngx_Pagespeed

14. Teraz sprawdź, czy NGX-PagesPeed działa teraz w połączeniu z Nginx za pomocą polecenia Curl poniżej.

$ curl -i -p http: // localhost 
Sprawdź Nginx z NGX_PAGESPEED

Jeśli nie udało ci się zobaczyć powyższego nagłówka, wróć do kroku 10 i uważnie przejrzyj instrukcje, aby włączyć NGX-Pagespeed z kolejnymi krokami.

Repozytorium GitHub Ngx-Pagespeed: https: // github.com/pagespeed/ngx_pagespeed

Jeśli chcesz zabezpieczyć serwer WWW Nginx, sugerujemy przeczytanie tego użytecznego samouczka: Ultimate Guide to Secure, Harding and poprawy wydajności Nginx.

To jest to! W tym samouczku wyjaśniliśmy, jak zainstalować Nginx z NGX_PAGESPEED na Debian i Ubuntu. Jeśli masz jakieś zapytania, wyślij nam użycie naszego formularza komentarzy poniżej.