Przyspiesz wydajność Nginx za pomocą NGX_Pagespeed na Centos 7
- 2256
- 172
- Maria Piwowarczyk
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.GZPobierz 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łyskawicznyPobierz 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.GZPobierz 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_flagsSkonfiguruj 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/nginxUtwó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.celNginx 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 NginxRozpocznij 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_cacheUtwó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 -tSprawdź 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: // localhostTest 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.
- « Jak zainstalować Vagrant w Centos 7
- Konfigurowanie warunków wstępnych instalacji Oracle 12C w RHEL/Centos/Oracle Linux 6.5 - Część I »