Przyspiesz wydajność Nginx za pomocą NGX_Pagespeed na Centos 7

Przyspiesz wydajność Nginx za pomocą NGX_Pagespeed na Centos 7

Nginx [Engine X] to bezpłatne i otwarte, międzyplatformowe, potężne oprogramowanie serwera WWW i odwrotne oprogramowanie proxy napisane w C. Jest to również standardowy serwer proxy IMAP/POP3 i.

Nginx to dobrze znany serwer HTTP (porównywalny z serwerem Apache HTTP) zasilającym wiele witryn w Internecie; jest popularny ze względu na wysokowydajny i stabilność.

Istnieją różne ważne czynniki, które należy wziąć pod uwagę, gdy chcesz poprawić wrażenia użytkownika w witrynie, w tym szybkość witryny i prędkość strony (znana również jako czas ładowania strony). Jeśli Twoja witryna jest zasilana przez Nginx, możesz użyć ngx_pagespeed W tym celu.

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

Ngx_pagespeed to bezpłatny i open source nginx używany do zwiększania prędkości witryn, a także do skalowania czasu ładowania strony. Znacząco skraca czas potrzebny dla użytkowników i interakcji z treścią witryny.

NGX_PAGESPEED Funkcje:

  • Obsługa kontroli HTTPS i URL.
  • Optymalizacja obrazu: usuwanie meta-data, dynamiczne rozmiar, rekompresja.
  • CSS i JavaScript Minification, Conatenacja, Inlinowanie i zarysowanie.
  • 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.

W tym samouczku pokażemy, jak zainstalować Nginx z ngx_pagespeed i przetestuj całą instalację na RHEL/CENTOS 7.

Uwaga: Użytkownicy Debian i Ubuntu mogą przestrzegać tego przewodnika, aby zainstalować NGX_PAGESPEED, aby poprawić wydajność Nginx.

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

1. Żeby zainstalować Nginx z ngx_pagespeed wymaga skompilowania go ze źródła. Najpierw zainstaluj wszystkie pakiety wymagane do kompilacji Nginx ze źródła takiego.

# Yum Zainstaluj wget gcc cmake Unzip GCC-C ++ PCRE-DEVEL Zlib-Devel lub # Grupa Yum Instaluj „Narzędzia programistyczne” 
Zainstaluj narzędzia programistyczne na Centos 7

2. Następnie uzyskaj pliki źródłowe najnowszej wersji Nginx (1.13.2 w momencie pisania) za pomocą polecenia WGET i wyodrębnia pobraną piłkę smoły jak poniżej.

# mkdir ~/pobieranie # cd ~/pobieranie # wget -c https: // nginx.org/pobierz/nginx-1.13.2.smoła.GZ # TAR -XZVF Nginx -1.13.2.smoła.GZ 
Pobierz pliki źródłowe Nginx

3. Następnie pobierz pliki źródłowe NGX_Pagespeed i pliki kompresowane.

# 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 NGX_PAGESPEED

4. Teraz przejdź do katalogu rozpakowanego NGX_PageSpeed ​​i uzyskaj 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 optymalizacji Pagespeed

Krok 2: Skonfiguruj i skompiluj Nginx z NGX_PAGESPEED

5. Teraz idź do Nginx-1.13.2 katalog i skonfiguruj źródło nginx, uruchamiając poniższe polecenia.

# CD ~/Downloads/nginx-1.13.2 # ./Configure --add-Module = $ home/pobrań/ngx_pagespeed-1.12.34.2-stabilny/--User = nikt --group = nikt --error-log-path =/var/log/nginx/błąd.log--http-log-path =/var/log/nginx/access.log--PID-Path =/var/run/nginx.PID $ ps_ngx_extra_flags 
Skonfiguruj Nginx z Ngx_Pagespeed

6. Następnie skompiluj i zainstaluj Nginx następująco.

# Zrób # Zrób instalację 
Skompiluj Nginx z Ngx_Pagespeed

7. Po zakończeniu procesu instalacji utwórz wszystkie niezbędne symlinki dla Nginx.

# ln -s/usr/local/nginx/conf//etc/nginx/ # ln -s/usr/local/nginx/sbin/nginx/usr/sbin/nginx 
Utwórz Nginx SymLinks

Krok 3: Tworzenie pliku jednostki Nginx dla systemd

8. Następnie od tego czasu Systemd jest w tym system w Centos 7, musisz ręcznie utworzyć plik jednostki Nginx.

Fisrt, utwórz plik /lib/systemd/system/nginx.praca, Następnie weź plik usługi Nginx SystemD wklej konfigurację pliku jednostki w poniższym pliku.

# vi/lib/systemd/system/nginx.praca 

Zwróć uwagę na lokalizację Pidfile i Nginx Binarny, który ustawiłeś podczas konfigurowania i kompilacji Nginx, ustawisz je w odpowiednich zmiennych w pliku jednostki, jak pokazano poniżej:

[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 
Nginx Systemd Service Unitt

Zapisz plik i zamknij go.

9. W tym momencie zacznij nginx usługa dla czasów i umożliwić jej uruchomienie w rozruchu systemowym, uruchamiając poniższe polecenia.

# Systemctl start nginx # Systemctl Włącz Nginx # Systemctl Status Nginx 
Rozpocznij i włącz Nginx

Krok 4: Skonfiguruj Nginx z modułem Pagespeed

10. Po zainstalowaniu Nginx, następnie musisz włączyć Ngx_pagespeed moduł. Zacznij od utworzenia katalogu, w którym moduł będzie buforował pliki dla Twojej witryny i ustawić odpowiednie uprawnienia w tym katalogu z poniższymi poleceniami.

# mkdir -p /var /ngx_pagespeed_cache # chown -r nikt: nikt /var /ngx_pagespeed_cache 
Utwórz katalog pamięci podręcznej Nginx

11. Teraz nadszedł czas, aby włączyć Ngx_pagespeed moduł, otwórz plik konfiguracyjny Nginx i dodaj poniższe wiersze.

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

# vi/etc/nginx/nginx.conf 

Dodaj następujące Ngx_pagespeed Linie konfiguracyjne 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" ""; 

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 logs/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; # # 

12. Następnie upewnij się, że plik konfiguracji Nginx jest wolny od błędu, uruchamiając poniższe polecenie, zobaczysz poniższe dane, jeśli wszystko jest dobre.

# nginx -t 
Sprawdź konfigurację Nginx pod kątem błędów

13. Wreszcie, ponownie uruchom serwer Nginx, aby zmiany uległy awarii.

# Systemctl restart nginx 

Krok 5: Testowanie Nginx z Ngx_Pagespeed

14. Wiedzieć, czy Ngx_pagespeed działa teraz w połączeniu z Nginx, musi pojawić się w Speed ​​X-PAGE nagłówek.

# curl -i -p http: // localhost 
Test nginx z NGX_Pagespeed

W przypadku, gdy nie udało ci się zobaczyć powyższego nagłówka, a następnie wróć do kroku 11 i uważnie postępuj zgodnie z instrukcjami, aby włączyć NGX-PAGESPEED z kolejnymi krokami.

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

To wszystko! W tym samouczku pokazaliśmy, jak zainstalować i skonfigurować Nginx z modułem NGX_Pagespeed, aby optymalizować i poprawić wydajność witryny oraz skraca czas ładowania strony.

Aby zabezpieczyć serwer WWW NGINX, przeczytaj ten artykuł - Ultimate Guide to Secure, Harding and Isproces Performance of Nginx Web Server.

Jak zawsze, nie wahaj się daj nam znać żadnych pytań lub myśli dotyczących tego samouczka.