Nginx je bezplatný a open-source webový server, který pohání mnoho webů na internetu. Může být použit jako reverzní proxy a load balancer. Je známý pro svůj vysoký výkon a stabilitu.
ngx_pagespeed je open-source modul Nginx, který lze použít k optimalizaci výkonu vašeho webu. Je vyvinut společností Google a snižuje dobu načítání stránky a zrychluje dobu odezvy webu.
V tomto tutoriálu vám ukážeme, jak zkompilovat ngx_pagespeed jako dynamický modul s Nginx na serveru Ubuntu 20.04.
Předpoklady
- Server se systémem Ubuntu 20.04.
- Platný název domény s adresou IP vašeho serveru. V tomto tutoriálu použijeme doménu example.com.
- Na serveru je nakonfigurováno heslo uživatele root.
Začínáme
Než začnete, budete muset aktualizovat systémové balíčky na nejnovější verzi. Můžete je aktualizovat spuštěním následujícího příkazu:
apt-get update -y
Jakmile jsou všechny balíčky nainstalovány, budete muset nainstalovat některé požadované závislosti do vašeho systému. Všechny je můžete nainstalovat pomocí následujícího příkazu:
apt-get install dpkg-dev build-essential zlib1g-dev libpcre3 git libpcre3-dev unzip -y
Jakmile jsou všechny balíčky nainstalovány, můžete přejít k dalšímu kroku.
Instalovat webový server Nginx
Dále budete muset nainstalovat webový server Nginx do vašeho systému. Můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install nginx -y
Po dokončení instalace můžete ověřit nainstalovanou verzi Nginx pomocí následujícího příkazu:
nginx -v
V následujícím výstupu byste měli vidět verzi Nginx:
Verze nginx:nginx/1.18.0 (Ubuntu)
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Stažení a kompilace ngx_pagespeed
Před stažením a kompilací ngx_pagespeed. Budete si muset stáhnout zdroj Nginx do vašeho systému. Zdrojový balíček Nginx si můžete stáhnout pomocí následujícího příkazu:
Poznámka:Ujistěte se, že stažená verze Nginx bude odpovídat nainstalované verzi Nginx. Zde je nainstalovaná verze Nginx 1.18.0. Budete si tedy muset stáhnout zdroj Nginx verze 1.18.0 z webu Nginx.
wget http://nginx.org/download/nginx-1.18.0.tar.gz
Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:
tar -xvzf nginx-1.18.0.tar.gz
Dále si stáhněte zdroj ngx_pagespeed z úložiště Git pomocí následujícího příkazu:
klon git https://github.com/apache/incubator-pagespeed-ngx.git
Po dokončení stahování změňte adresář na stažený adresář a zkontrolujte stabilní verzi pomocí následujícího příkazu:
cd incubator-pagespeed-ngx
git checkout nejnovější-stable
Měli byste získat následující výstup:
Poznámka:přepnutí na 'latest-stable'. Jste ve stavu 'detached HEAD'. Můžete se rozhlížet, provádět experimentální změny a odevzdávat je a můžete zahodit jakékoli odevzdání provedené v tomto stavu, aniž by to ovlivnilo jakékoli větve, přepnutím zpět na větev. Chcete-li vytvořit novou větev a zachovat vytvořené odevzdání, můžete tak učinit ( nyní nebo později) pomocí -c s příkazem switch. Příklad:git switch -cNebo tuto operaci vraťte zpět pomocí:git switch -Vypněte tuto radu nastavením konfigurační proměnné poradenství.detachedHead na falseHEAD je nyní na 11ba8ea54 Aktualizace PSOL_BINARY_URL
Z výše uvedeného výstupu vyhledejte soubor „PSOL_BINARY_URL“, abyste viděli adresu URL pro stažení PSOL:
kočka PSOL_BINARY_URL
Měli byste získat následující výstup:
https://dl.google.com/dl/page-speed/psol/1.13.35.2-$BIT_SIZE_NAME.tar.gz
Nyní spusťte následující příkaz ke stažení PSOL pomocí výše uvedené adresy URL:
wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-x64.tar.gz
Dále rozbalte stažený soubor pomocí následujícího příkazu:
tar -xvzf 1.13.35.2-x64.tar.gz
Dále změňte adresář na zdroj Nginx a nainstalujte všechny požadované závislosti pomocí následujícího příkazu:
cd /root/nginx-1.18.0
apt-get build-dep nginx
apt-get install uuid-dev
Dále zkompilujte modul ngx_pagespeed pomocí následujícího příkazu:
./configure --with-compat --add-dynamic-module=/root/incubator-pagespeed-ngx
Měli byste získat následující výstup:
Shrnutí konfigurace + pomocí systémové knihovny PCRE + knihovna OpenSSL se nepoužívá + pomocí systémové knihovny zlib předpona cesty nginx:"/usr/local/nginx" binární soubor nginx:"/usr/local/nginx/sbin/nginx" nginx cesta k modulům:"/usr/local/nginx/modules" předpona konfigurace nginx:"/usr/local/nginx/conf" konfigurační soubor nginx:"/usr/local/nginx/conf/nginx.conf" soubor pid nginx:" /usr/local/nginx/logs/nginx.pid" soubor protokolu chyb nginx:"/usr/local/nginx/logs/error.log" soubor protokolu přístupu nginx http:"/usr/local/nginx/logs/access. log" nginx http tělo požadavku klienta dočasné soubory:"client_body_temp" nginx http dočasné soubory proxy:"proxy_temp" nginx http fastcgi dočasné soubory:"fastcgi_temp" nginx http uwsgi dočasné soubory:"uwsgi_temp" nginx http scgi dočasné soubory:"scgi_temp"Dále spusťte následující příkaz pro sestavení modulu Pagespeed:
vytvářejte modulyDále zkopírujte vygenerovaný modul do adresáře modulů Nginx:
cp objs/ngx_pagespeed.so /usr/share/nginx/modules/V tomto okamžiku je ve vašem systému zkompilován modul ngx_pagespeed. Nyní můžete přejít k dalšímu kroku.
Nakonfigurujte Nginx pro použití modulu ngx_pagespeed
Dále budete muset nakonfigurovat Nginx tak, aby používal modul ngx_pagespeed. Nejprve upravte hlavní konfigurační soubor Nginx a definujte cestu k modulu ngx_pagespeed:
nano /etc/nginx/nginx.confNa začátek souboru přidejte následující řádek:
load_module modules/ngx_pagespeed.so;Po dokončení uložte a zavřete soubor.
Dále vytvořte adresář pro mezipaměti rychlosti stránek pomocí následujícího příkazu:
mkdir -p /var/ngx_pagespeed_cacheNastavte správné vlastnictví pomocí následujícího příkazu:
chown -R www-data:www-data /var/ngx_pagespeed_cacheDále upravte výchozí konfigurační soubor virtuálního hostitele Nginx a přidejte konfiguraci rychlosti stránky:
nano /etc/nginx/sites-available/defaultVšechny řádky byly nahrazeny následujícími řádky:
server { poslouchat 80; název_serveru example.com; root /var/www/html; index index.nginx-debian.html index.html index.htm; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; umístění / { try_files $uri $uri/ =404; } rychlost stránky zapnuta; pagespeed FileCachePath "/var/ngx_pagespeed_cache/"; rychlost stránky RewriteLevel OptimizeForBandwidth; umístění ~ ".pagespeed.([a-z].)?[a-z]{2}.[^.]{10}.[^.]+" { add_header "" ""; } umístění ~ "^/pagespeed_static/" { } umístění ~ "^/ngx_pagespeed_beacon$" { }pagespeed RewriteLevel CoreFilters; }Po dokončení uložte a zavřete soubor. Poté pomocí následujícího příkazu ověřte, zda v Nginx nedošlo k chybě syntaxe:
nginx -tMěli byste získat následující výstup:
nginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je oknginx:konfigurační soubor /etc/nginx/nginx.conf test byl úspěšnýNakonec restartujte službu Nginx, aby se změny projevily:
systemctl restart nginxStav služby Nginx můžete také ověřit pomocí následujícího příkazu:
stav systemctl nginxMěli byste získat následující výstup:
? nginx.service – vysoce výkonný webový server a reverzní proxy server Načteno:načteno (/lib/systemd/system/nginx.service; povoleno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běžící) od čt 2020-11-26 05 :32:23 UTC; Před 20 lety Dokumenty:man:nginx(8) Proces:363 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (kód=ukončeno, stav=0/ÚSPĚCH) Proces:385 ExecStart=/usr/sbin/nginx -g démon zapnutý; master_process on; (code=exited, status=0/SUCCESS) Hlavní PID:386 (nginx) Úkoly:3 (limit:2353) Paměť:14,4M CGroup:/system.slice/nginx.service ??386 nginx:hlavní proces /usr/ sbin/nginx -g démon zapnutý; master_process on; 387 nginx:pracovní proces 388 nginx:pracovní procesNov 26 05:32:23 ubuntu2004 systemd[1]:Spuštění vysoce výkonného webového serveru a reverzního proxy serveru... 26. listopadu 05:32:23 ubuntu2004 systemd[ 1]:Spuštěno Vysoce výkonný webový server a reverzní proxy server.Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Ověřte modul ngx_pagespeed
V tomto okamžiku je Nginx nakonfigurován s podporou ngx_pagespeed. Nyní je čas otestovat, zda je nainstalován nebo ne.
Chcete-li otestovat rychlost stránky, spusťte následující příkaz zadáním názvu vaší domény:
curl -I -p http://example.comPokud je vše v pořádku, měli byste získat následující výstup:
HTTP/1.1 200 OKServer:nginx/1.18.0 (Ubuntu)Typ obsahu:text/htmlPřipojení:keep-aliveVary:Accept-EncodingDate:St, 25 Nov 2020 11:58:56 GMTX-Page-Speed:1 .35.2-0Cache-Control:max-age=0, no-cacheVe výše uvedeném výstupu X-Page-Speed:1.13.35.2-0 znamená, že PageSpeed je aktivní a optimalizuje váš web.
Závěr
Gratulujeme! úspěšně jste nainstalovali ngx_pagespeed s Nginx na serveru Ubuntu 20.04. Doufám, že tento modul zvýší výkon vašeho webového serveru Nginx a zrychlí web. Pokud máte nějaké dotazy, neváhejte se mě zeptat.
Jak nainstalovat CouchDB na Ubuntu 20.04 Jak nainstalovat nástroj Cacti Network Monitoring Tool na Ubuntu 20.04Ubuntu