![Microsoft esitteli uuden Insider Build -sovelluksen, joka korjaa välilehtien virheet File Explorerissa](/f/21c59283a07861d8bfbe40eef0c11c96.jpg?width=100&height=100)
Viimeisessä artikkelissamme näytimme kuinka nopeuttaa Nginx -suorituskyky Ngx_Pagespeedillä CentOS 7: ssä. Tässä opetusohjelmassa selitämme, kuinka Nginx asennetaan ngx_pagespeedilla Debian- ja Ubuntu -järjestelmiin Nginx -verkkosivustojen suorituskyvyn parantamiseksi.
Nginx [engine x] on ilmainen ja avoimen lähdekoodin suosittu HTTP-palvelin, joka käyttää monia verkkosivustoja: tunnettu korkeasta suorituskyvystä ja vakaudesta. Se toimii myös käänteisenä välityspalvelimena, yleispostina ja TCP/UDP -välityspalvelimena, ja sitä voidaan käyttää myös kuormituksen tasapainottimena.
Ngx_sivunopeus on ilmainen ja avoimen lähdekoodin Nginx -moduuli, joka on tarkoitettu parantamaan sivustojen nopeutta ja vähentämään sivujen latausaikaa; se lyhentää huomattavasti aikaa, jonka käyttäjät käyttävät sivustosi sisällön katseluun ja vuorovaikutukseen sen kanssa.
1. Asentaa Nginx kanssa ngx_pagespeed lähteestä vaaditaan seuraavat järjestelmään asennettavat paketit.
$ sudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev unzip.
2. Lataa seuraavaksi Nginxin uusimman version (1.13.2 tätä kirjoitettaessa) käyttämällä wget -komento ja purkaa tiedostot alla olevan kuvan mukaisesti.
$ mkdir -p ~/make_nginx. $ cd ~/make_nginx. $ wget -c https://nginx.org/download/nginx-1.13.2.tar.gz. $ tar -xzvf nginx -1.13.2.tar.gz.
3. Ota seuraavaksi ngx_pagespeed lähdetiedostot ja purkaa pakattu tiedosto näin.
$ wget -c https://github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2-stable.zip. $ unzip v1.12.34.2-stable.zip.
4. Siirry sitten pakkaamattomaan ngx_pagespeed hakemistoon ja lataa PageSpeed -optimointikirjastot Nginxin kääntämiseksi seuraavasti.
$ cd ngx_pagespeed-1.12.34.2-vakaa/ $ 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. Siirry seuraavaksi nginx-1.13.2 ja määritä Nginx -lähde seuraavien komentojen avulla.
$ cd ~/make_nginx/nginx-1.13.2. $ ./configure --add-module = $ HOME/make_nginx/ngx_pagespeed-1.12.34.2-stabil/$ {PS_NGX_EXTRA_FLAGS}
6. Käännä ja asenna seuraavaksi Nginx seuraavasti.
$ tehdä. $ sudo make install.
7. Kun asennus on valmis, suorita alla olevat komennot luodaksesi tarvittavat symbolilinkit Nginxille.
$ sudo ln -s/usr/local/nginx/conf//etc/nginx. $ sudo ln -s/usr/local/nginx/sbin/nginx/usr/sbin/nginx.
8. Tässä sinun on luotava manuaalisesti Nginx -yksikkötiedosto, koska systemd on init -järjestelmä uusimmissa Debian- ja Ubuntu -versioissa
Fisrt, luo tiedosto /lib/systemd/system/nginx.service.
$ sudo vi /lib/systemd/system/nginx.service.
Lataa sitten NGINX -järjestelmän palvelutiedosto liitä yksikkötiedoston kokoonpano tiedostoon.
[Yksikkö] Kuvaus = NGINX HTTP ja käänteinen välityspalvelin. After = syslog.target network.target remote-fs.target nss-lookup.target [Palvelu] Tyyppi = haarukointi. 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 [Asenna] WantedBy = usean käyttäjän.target.
Tallenna tiedosto ja sulje se.
9. Aloita nyt nginx palvelua toistaiseksi ja salli sen käynnistyä järjestelmän käynnistyksen yhteydessä käyttämällä alla olevia komentoja.
$ sudo systemctl käynnistä nginx. $ sudo systemctl ota käyttöön nginx.
Tärkeä: Kun olet aloittanut Nginx -palvelun, saatat nähdä virheen alla olevan kuvakaappauksen mukaisesti.
systemd [1]: nginx.service: PID -tiedosto /run/nginx.pid ei luettavissa (vielä?) käynnistyksen jälkeen: Ei tällaista tiedostoa tai hakemistoa
Voit ratkaista sen avaamalla Nginx -kokoonpanon /etc/nginx/nginx.conf tiedosto ja liitä seuraava rivi.
#pid lokit/nginx.pid; kohteeseen. pid /run/nginx.pid;
Käynnistä lopuksi nginx -palvelu uudelleen.
$ sudo systemctl daemon-reload. $ sudo systemctl käynnistä nginx. $ sudo systemctl tila nginx.
10. Nyt kun Nginx on asennettu ja käynnissä järjestelmässäsi, sinun on otettava Ngx_pagespeed -moduuli käyttöön. Luo ensin hakemisto, jossa moduuli tallentaa verkkosivustosi tiedostot välimuistiin, ja määritä tähän hakemistoon sopivat käyttöoikeudet seuraavasti.
$ sudo mkdir -p /var /ngx_pagespeed_cache. $ sudo chown -R nobody: nogroup /var /ngx_pagespeed_cache.
11. Ota Ngx_pagespeed -moduuli käyttöön avaamalla Nginx -määritystiedosto.
$ sudo vi /etc/nginx/nginx.conf.
Lisää seuraavat Ngx_pagespeed -kokoonpanorivit palvelinlohkoon.
# Sivunopeuden pääasetukset sivunopeus; sivunopeus FileCachePath /var /ngx_pagespeed_cache; # Varmista, että sivunopeuden optimoitujen resurssien pyynnöt menevät sivunopeudelle. # käsittelijä, eikä ylimääräisiä otsikoita aseteta. sijainti ~ "\ .sivunopeus \. ([a-z] \.)? [a-z] {2} \. [^.] {10} \. [^.]+" {add_header "" ""; } sijainti ~ "^/ngx_pagespeed_static/" {} sijainti ~ "^/ngx_pagespeed_beacon" {}
Merkintä: Jos olet ottanut käyttöön jonkin nginx -virtuaaliset isännät palvelimella, lisää yllä olevat sivunopeusdirektiivit kuhunkin palvelinlohkoon, jotta Ngx_pagespeed otetaan käyttöön jokaisella sivustolla.
Seuraava on toimiva esimerkki Nginx -määritystiedostosta, jossa on Ngx_sivunopeus käytössä oletusvirtuaalipalvelimessa.
Nginx -määritys ja Ngx_pagespeed
#käyttäjä ei kukaan; työntekijän_prosessit 1; #error_log lokit/error.log; #error_log lokit/error.log -ilmoitus; #error_log lokit/error.log info; pid /run/nginx.pid;tapahtumat {työntekijän_yhteydet 1024; } http {include mime.types; default_type application/oktettivirta; #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 lokit/access.log main; lähetä tiedosto; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; palvelin {kuuntele 80; palvelimen_nimi localhost; #merkki koi8-r; #access_log logs/host.access.log main;# Sivunopeuden pääasetukset sivunopeus; sivunopeus FileCachePath /var /ngx_pagespeed_cache; # Varmista, että sivunopeuden optimoituja resursseja koskevat pyynnöt menevät sivunopeudenkäsittelijälle, eikä mitään ylimääräisiä otsikoita aseteta. sijainti ~ "\ .sivunopeus \. ([a-z] \.)? [a-z] {2} \. [^.] {10} \. [^.]+" {add_header "" ""; } sijainti ~ "^/ngx_pagespeed_static/" {} location ~ "^/ngx_pagespeed_beacon" {}sijainti / {root html; hakemisto index.html index.htm; } #error_page 404 /404.html; # ohjaa palvelimen virhesivut staattiselle sivulle /50x.html # error_page 500502503504 /50x.html; sijainti = /50x.html {root html; } # välitä PHP -skriptit Apache -kuunteluun 127.0.0.1:80 # #sijainti ~ \ .php $ { # proxy_pass http://127.0.0.1; #} # välittää PHP -skriptit FastCGI -palvelimelle kuuntelemalla 127.0.0.1:9000 # #sijainti ~ \ .php $ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts $ fastcgi_script_name; # include fastcgi_params; #} # kieltää pääsy .htaccess -tiedostoihin, jos Apachen asiakirjan juuri # on nginxin # #sijainti ~ /\.ht { # evätä kaikki; #}} # toinen virtuaalinen isäntä, joka käyttää yhdistelmää IP-, nimi- ja porttipohjaisia asetuksia # #palvelin { # kuuntele 8000; # kuuntelunimi: 8080; # palvelimen_nimi somename alias another.alias; # location / { # root html; # indeksi index.html index.htm; #} #} # HTTPS -palvelin # #palvelin { # kuuntele 443 ssl; # palvelimen_nimi localhost; # ssl_sertifikaatti cert.pem; # ssl_certificate_key varmenneavain; # ssl_session_cache jaettu: SSL: 1 m; # ssl_session_timeout 5 m; # ssl_ciphers HIGH:! aNULL:! MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # indeksi index.html index.htm; # } #} }
Tallenna ja sulje tiedosto.
12. Tarkista sitten, onko Nginx -määritystiedoston syntaksi virheetön suorittamalla alla oleva komento, jos se on oikein, näet alla olevan tuloksen:
$ sudo nginx -t nginx: määritystiedoston /usr/local/nginx/conf/nginx.conf syntaksi on ok. nginx: määritystiedoston /usr/local/nginx/conf/nginx.conf testi onnistui.
13. Käynnistä sitten Nginx -palvelin uudelleen viimeisimpien muutosten tekemiseksi.
$ sudo systemctl käynnistä nginx uudelleen.
14. Testaa nyt, toimiiko Ngx-pagespeed nyt yhdessä Nginxin kanssa käyttämällä alla olevaa cURL-komentoa.
$ curl -I -p http://localhost.
Jos et ole nähnyt yllä olevaa otsikkoa, palaa vaiheeseen 10 ja käy huolellisesti läpi ohjeet ottaaksesi Ngx-sivunopeus käyttöön peräkkäisissä vaiheissa.
Ngx-pagespeed Github-arkisto: https://github.com/pagespeed/ngx_pagespeed
Jos haluat suojata Nginx -verkkopalvelimen, suosittelemme lukemaan tämän hyödyllisen opetusohjelman: Lopullinen opas Nginxin suojaamiseen, kovettamiseen ja suorituskyvyn parantamiseen.
Se on siinä! Tässä opetusohjelmassa selitimme, kuinka Nginx asennetaan ngx_pagespeedilla Debianiin ja Ubuntuun. Jos sinulla on kysyttävää, lähetä meille alla oleva kommenttilomake.