Pasang nginx dengan ngx_pagespeed (pengoptimuman kelajuan) di debian dan ubuntu

Pasang nginx dengan ngx_pagespeed (pengoptimuman kelajuan) di debian dan ubuntu

Dalam artikel terakhir kami, kami menunjukkan bagaimana untuk mempercepat prestasi nginx dengan ngx_pagespeed pada centOS 7. Dalam tutorial ini, kami akan menerangkan cara memasang nginx dengan ngx_pagespeed pada sistem debian dan ubuntu untuk meningkatkan prestasi laman web nginx.

Nginx [enjin x] adalah pelayan HTTP yang bebas dan terbuka, yang menghidupkan banyak laman web di web: terkenal dengan prestasi dan kestabilannya yang tinggi. Ia juga berfungsi sebagai pelayan proksi terbalik, mel generik dan pelayan proksi TCP/UDP, dan juga boleh digunakan sebagai pengimbang beban.

Ngx_pagespeed adalah modul nginx sumber percuma dan terbuka yang dimaksudkan untuk meningkatkan kelajuan tapak serta mengurangkan masa beban halaman; Ia secara drastik menurunkan masa yang diperlukan untuk pengguna melihat dan berinteraksi dengan kandungan di laman web anda.

Cadangan Baca: Pasang mod_pagespeed untuk meningkatkan prestasi pelayan Apache

Ciri -ciri NGX_PagesPeed:

  • Sokongan HTTPS dengan Kawalan URL.
  • Pengoptimuman Imej: Pelucutan Meta-Data, Saiz Semakan Dinamik, Penggabungan semula.
  • CSS dan JavaScript Minification, Concatenation, Inlining, and Outlining.
  • Sumber kecil yang terbabas.
  • Menangguhkan gambar dan pemuatan javascript.
  • HTML Rewriting.
  • Lanjutan seumur hidup cache.
  • Membolehkan mengkonfigurasi untuk pelbagai pelayan dan banyak lagi.

Langkah 1: Pemasangan Nginx dari Sumber

1. Untuk memasang Nginx dengan ngx_pagespeed dari sumber yang diperlukan mengikut pakej yang akan dipasang pada sistem.

$ sudo apt-get pemasangan binaan zlib1g-dev libpcre3 libpcre3-dev unzip 
Pasang Bina Alat Essential di Ubuntu

2. Seterusnya, muat turun fail sumber versi terkini nginx (1.13.2 Pada masa penulisan ini) menggunakan arahan wget dan ekstrak fail seperti yang ditunjukkan di bawah.

$ mkdir -p ~/make_nginx $ cd ~/make_nginx $ wget -c https: // nginx.org/muat turun/nginx-1.13.2.tar.gz $ tar -xzvf nginx -1.13.2.tar.Gz 
Muat turun pakej sumber nginx

3. Seterusnya, dapatkan ngx_pagespeed fail sumber dan unzip fail termampat seperti ini.

$ wget -c https: // github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2-stabil.zip $ unzip v1.12.34.2-stabil.zip 
Muat turun fail sumber ngx_pagespeed

4. Kemudian bergerak ke unzipped ngx_pagespeed direktori dan muat turun perpustakaan pengoptimuman halaman untuk menyusun nginx seperti berikut.

$ cd ngx_pagespeed-1.12.34.2 -stabil/$ wget -c https: // dl.Google.com/dl/halaman-kelajuan/psol/1.12.34.2-x64.tar.gz $ tar -xvzf 1.12.34.2-x64.tar.Gz 
Muat turun perpustakaan halaman

Langkah 2: Konfigurasikan dan Susun nginx dengan ngx_pagespeed

5. Seterusnya bergerak ke nginx-1.13.2 direktori, dan konfigurasikan sumber nginx menggunakan arahan berikut.

$ cd ~/make_nginx/nginx-1.13.2 $ ./Konfigurasi-modul-modul = $ rumah/make_nginx/ngx_pagespeed-1.12.34.2-stabil/ $ ps_ngx_extra_flags 
Konfigurasikan nginx dengan modul ngx_pagespeed

6. Seterusnya, menyusun dan memasang nginx seperti berikut.

$ membuat $ sudo membuat pemasangan 
Pasang nginx dengan ngx_pagespeed

7. Selepas proses pemasangan selesai, jalankan arahan di bawah untuk membuat symlink yang diperlukan untuk nginx.

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

Langkah 3: Membuat fail unit nginx untuk SystemD

8. Di sini, anda perlu membuat fail unit nginx secara manual kerana SystemD adalah sistem init pada versi baru Debian dan Ubuntu System

Fisrt, buat fail /lib/systemd/system/nginx.perkhidmatan.

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

Kemudian muat turun fail perkhidmatan sistemd nginx tampal konfigurasi fail unit ke dalam fail.

[Unit] Keterangan = Nginx HTTP dan Server Proksi Reverse After = Syslog.rangkaian sasaran.Sasaran jauh-FS.Sasaran NSS-Lookup.sasaran [perkhidmatan] jenis = forking 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 [install] wanty = multi -User.sasaran 

Simpan fail dan tutupnya.

9. Sekarang, mulakan nginx Perkhidmatan pada masa ini, dan membolehkannya bermula pada boot sistem dengan menggunakan arahan di bawah.

$ sudo systemctl start nginx $ sudo systemctl enable nginx 

Penting: Setelah memulakan perkhidmatan nginx, anda mungkin melihat ralat seperti yang ditunjukkan dalam pukulan skrin di bawah.

Systemd [1]: nginx.Perkhidmatan: PID Fail /Run /Nginx.pid belum boleh dibaca (belum?) selepas permulaan: tiada fail atau direktori sedemikian 
Nginx gagal memulakan ralat

Untuk menyelesaikannya, buka konfigurasi nginx /etc/nginx/nginx.Conf fail dan tambahkan baris berikut.

#pid log/nginx.pid; ke pid /run /nginx.pid; 

Akhirnya mulakan semula perkhidmatan nginx lagi.

$ sudo systemctl daemon-reload $ sudo systemctl start nginx $ sudo systemctl status nginx 

Langkah 4: Konfigurasikan Nginx dengan modul PagesPeed

10. Sekarang nginx dipasang dan dijalankan pada sistem anda, anda perlu mendayakan modul NGX_PAGESPEED. Pertama buat direktori di mana modul akan cache fail untuk laman web anda dan tetapkan keizinan yang sesuai pada direktori ini seperti berikut.

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

11. Untuk mengaktifkan modul NGX_PagesPeed, buka fail konfigurasi nginx.

$ sudo vi/etc/nginx/nginx.Conf 

Tambahkan baris konfigurasi ngx_pagespeed berikut dalam blok pelayan.

# Pagespeed Main Tetapan Pagespeed On; pagespeed filecachepath /var /ngx_pagespeed_cache; # Pastikan permintaan untuk sumber -sumber yang dioptimumkan di halaman pergi ke halaman # pengendali dan tiada tajuk luaran yang ditetapkan. Lokasi ~ "\.Pagespeed \.([A-Z] \.)?[a-z] 2 \.[^.] 10 \.[^.]+"add_header" "" "; lokasi ~"^/ngx_pagespeed_static/" lokasi ~"^/ngx_pagespeed_beacon " 

Catatan: Sekiranya anda telah mengerahkan mana -mana hos maya nginx di pelayan, tambahkan arahan halaman di atas ke setiap blok pelayan untuk membolehkan ngx_pagespeed di setiap laman web.

Berikut adalah contoh kerja fail konfigurasi nginx dengan Ngx_pagespeed didayakan dalam hos maya lalai.

Konfigurasi nginx dengan ngx_pagespeed
#user tiada siapa; worker_processes 1; #error_log log/ralat.log; #error_log log/ralat.notis log; #error_log log/ralat.maklumat log; pid /run /nginx.pid; peristiwa worker_connections 1024;  http termasuk mime.jenis; 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_forward_for"'; #Access_log log/akses.log utama; Sendfile pada; #TCP_NOPUSH ON; #keepalive_timeout 0; Keepalive_timeout 65; #gzip on; pelayan mendengar 80; server_name localhost; #charset koi8-r; #Access_log log/host.akses.log utama; # Pagespeed Main Tetapan Pagespeed On; pagespeed filecachepath /var /ngx_pagespeed_cache; # Pastikan permintaan untuk sumber -sumber yang dioptimumkan di halaman pergi ke halaman # pengendali dan tiada tajuk luaran yang ditetapkan. Lokasi ~ "\.Pagespeed \.([A-Z] \.)?[a-z] 2 \.[^.] 10 \.[^.]+"add_header" "" "; lokasi ~"^/ngx_pagespeed_static/" lokasi ~"^/ngx_pagespeed_beacon " lokasi / root html; Indeks indeks.Indeks HTML.htm;  #error_page 404 /404.html; # Redirect Halaman ralat pelayan ke halaman statik /50x.html # error_page 500 502 503 504 /50x.html; Lokasi = /50x.html root html;  # proksi skrip php ke Apache mendengar pada 127.0.0.1:80 # #location ~ \.php $  # proxy_pass http: // 127.0.0.1; # # lulus skrip php ke pelayan fastcgi mendengar pada 127.0.0.1: 9000 # #location ~ \.php $  # root html; # fastcgi_pass 127.0.0.1: 9000; # indeks fastcgi_index.PHP; # fastcgi_param script_filename /script $ fastcgi_script_name; # termasuk fastcgi_params; # # menafikan akses ke .fail htaccess, jika root dokumen Apache # bersetuju dengan nginx satu # #location ~ /\.ht  # menafikan semua; # # Satu lagi tuan rumah maya menggunakan campuran konfigurasi IP-, nama, dan berasaskan port # #Server  # Listen 8000; # Dengar Somename: 8080; # server_name somename alias yang lain.alias; # lokasi /  # root html; # indeks indeks.Indeks HTML.htm; # # # Https server # #server  # mendengar 443 ssl; # server_name localhost; # ssl_certificate cert.PEM; # ssl_certificate_key cert.kunci; # ssl_session_cache dikongsi: ssl: 1m; # ssl_session_timeout 5m; # ssl_ciphers tinggi:!Anull:!MD5; # SSL_PREFER_SERVER_CIPHERS ON; # lokasi /  # root html; # indeks indeks.Indeks HTML.htm; # # 

Simpan dan tutup fail.

12. Kemudian periksa sama ada sintaks fail konfigurasi nginx adalah ralat bebas dengan menjalankan arahan di bawah, jika betul, anda akan melihat output di bawah:

$ sudo nginx -t nginx: Fail konfigurasi/usr/local/nginx/conf/nginx.Conf Syntax adalah OK nginx: Fail konfigurasi/usr/local/nginx/conf/nginx.Ujian conf berjaya 

13. Selepas itu mulakan semula pelayan nginx untuk mempengaruhi perubahan baru -baru ini.

$ sudo systemctl mulakan semula nginx 

Langkah 5: Menguji Nginx dengan NGX_PagesPeed

14. Sekarang uji sama ada ngx-pagespeed kini berfungsi bersempena dengan nginx menggunakan arahan curl di bawah.

$ curl -i -p http: // localhost 
Periksa nginx dengan ngx_pagespeed

Sekiranya anda gagal melihat header di atas, maka kembali ke langkah 10 dan dengan penuh perhatian melalui arahan untuk membolehkan NGX-Pagespeed dengan langkah-langkah berturut-turut.

NGX-Pagespeed GitHub Repository: https: // github.com/pagespeed/ngx_pagespeed

Jika anda ingin menjamin pelayan web nginx, maka kami cadangkan membaca tutorial berguna ini: panduan utama untuk menjamin, mengeras dan meningkatkan prestasi nginx.

Iaitu ia! Dalam tutorial ini, kami menjelaskan cara memasang nginx dengan ngx_pagespeed pada debian dan ubuntu. Sekiranya anda ada pertanyaan, hantarkan kami menggunakan borang borang komen kami di bawah.