Percepat kinerja Nginx dengan NGX_PAGESPEED di CentOS 7

Percepat kinerja Nginx dengan NGX_PAGESPEED di CentOS 7

Nginx [Engine X] adalah server web yang gratis dan open-source, cross-platform, yang kuat, dan perangkat lunak proxy terbalik yang ditulis dalam C. Ini juga merupakan server proxy IMAP/POP3 dan TCP/UDP standar, dan dapat digunakan sebagai penyeimbang beban.

Nginx adalah server HTTP yang terkenal (sebanding dengan Apache HTTP Server) yang menyalakan banyak situs di web; itu populer untuk kinerja dan stabilitasnya yang tinggi.

Ada berbagai faktor penting yang perlu dipertimbangkan ketika Anda ingin meningkatkan pengalaman pengguna di situs Anda, termasuk kecepatan situs dan kecepatan halaman (juga dikenal sebagai waktu pemuatan halaman). Jika situs Anda ditenagai oleh nginx, maka Anda dapat menggunakan NGX_PAGESPEED untuk tujuan ini.

Disarankan Baca: Instal Mod_PagesPeed untuk meningkatkan kinerja server Apache

NGX_PAGESPEED adalah modul Nginx Sumber Gratis dan Terbuka yang digunakan untuk meningkatkan kecepatan situs serta penskalaan waktu pemuatan halaman. Itu secara signifikan mengurangi waktu yang diperlukan bagi pengguna untuk melihat dan berinteraksi dengan konten situs Anda.

Fitur NGX_PAGESPEED:

  • Dukungan untuk HTTPS dan Kontrol URL.
  • Optimalisasi Gambar: Stripping Meta-Data, Dinamis Mengukur, Rekompresi.
  • Minifikasi CSS & JavaScript, penggabungan, inlining, dan penjelasan.
  • Sumber daya kecil inlining.
  • Deferring Image dan JavaScript Loading.
  • HTML Menulis ulang.
  • Ekstensi seumur hidup cache.
  • Memungkinkan konfigurasi untuk banyak server dan banyak lainnya.

Dalam tutorial ini, kami akan menunjukkan cara menginstal Nginx dengan NGX_PAGESPEED dan uji seluruh instalasi Rhel/centos 7.

Perhatian: Pengguna Debian dan Ubuntu dapat mengikuti panduan ini untuk menginstal NGX_PAGESPEED untuk meningkatkan kinerja Nginx.

Langkah 1: Instal Nginx dari Sumber

1. Untuk memasang Nginx dengan NGX_PAGESPEED mengharuskan Anda untuk mengkompilasinya dari sumber. Pertama -tama pasang semua paket yang diperlukan untuk menyusun nginx dari sumber seperti ini.

# yum menginstal wget gcc cmake unzip gcc-c ++ pcre-devel zlib-devel atau # yum grup menginstal "alat pengembangan" 
Pasang alat pengembangan di Centos 7

2. Selanjutnya, dapatkan file sumber dari versi terbaru NginX (1.13.2 Pada saat penulisan ini) menggunakan perintah wget dan ekstrak bola tar yang diunduh seperti di bawah ini.

# mkdir ~/unduhan # cd ~/unduhan # wget -c https: // nginx.org/download/nginx-1.13.2.ter.GZ # TAR -XZVF NGINX -1.13.2.ter.GZ 
Unduh file sumber nginx

3. Selanjutnya, unduh file sumber NGX_PAGESPEED dan unzip file terkompresi.

# wget -c https: // github.com/pagespeed/ngx_pagespeed/arsip/v1.12.34.2-stabil.zip # unzip v1.12.34.2-stabil.ritsleting 
Unduh NGX_PAGESPEED

4. Sekarang pindah ke direktori NGX_PAGESPEED yang belum ritsleting dan dapatkan pustaka optimasi Pagespeed untuk mengkompilasi Nginx sebagai berikut.

# CD NGX_PAGESPEED-1.12.34.2 -stable/ # wget -c https: // dl.Google.com/dl/page-speed/psol/1.12.34.2-x64.ter.GZ # Tar -xvzf 1.12.34.2-x64.ter.GZ 
Unduh pustaka optimasi pagespeed

Langkah 2: Mengkonfigurasi dan mengkompilasi Nginx dengan NGX_PAGESPEED

5. Sekarang masuk ke nginx-1.13.2 direktori, dan konfigurasikan sumber nginx dengan menjalankan perintah di bawah ini.

# CD ~/unduhan/nginx-1.13.2 # ./configure --add-module = $ home/download/ngx_pagespeed-1.12.34.2-stabil/--User = noing noing --group = noing --ror-gog-path =/var/log/nginx/error.Log ---http-g-path =/var/log/nginx/access.log --pid-path =/var/run/nginx.pid $ ps_ngx_extra_flags 
Konfigurasikan nginx dengan NGX_PAGESPEED

6. Selanjutnya, kompilasi dan instal Nginx sebagai berikut.

# buat # buat instal 
Kompilasi nginx dengan NGX_PAGESPEED

7. Saat proses instalasi selesai, buat semua symlink yang diperlukan untuk nginx.

# ln -s/usr/local/nginx/conf//etc/nginx/ # ln -s/usr/local/nginx/sbin/nginx/usr/sbin/nginx 
Buat Nginx Symlinks

Langkah 3: Membuat File Unit Nginx untuk SystemD

8. Selanjutnya, sejak Systemd adalah init sistem di Centos 7, Anda perlu secara manual membuat file unit nginx untuk itu.

Fisrt, buat file /lib/systemd/system/nginx.melayani, Kemudian ambil file layanan NginX SystemD menempel konfigurasi file unit ke dalam file di bawah ini.

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

Perhatikan lokasi Pidfile dan Nginx Biner yang Anda atur saat mengonfigurasi dan menyusun Nginx, Anda akan mengaturnya dalam variabel yang sesuai dalam file unit seperti yang ditunjukkan di bawah ini:

[Unit] Deskripsi = Nginx HTTP dan Reverse Proxy Server Setelah = Syslog.jaringan target.Target Remote-FS.Target NSS-tampilan.Target [layanan] type = 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] wantyby = multi -pengguna.target 
File Unit Layanan Nginx SystemD

Simpan file dan tutup.

9. Pada titik ini, mulai Nginx Layanan untuk waktu yang rata -rata dan memungkinkannya untuk memulai dari boot sistem dengan menjalankan perintah di bawah ini.

# Systemctl Mulai Nginx # Systemctl Aktifkan Nginx # Systemctl Status Nginx 
Mulai dan Aktifkan Nginx

Langkah 4: Mengkonfigurasi Nginx dengan Modul PageSpeed

10. Dengan Nginx terpasang, selanjutnya, Anda perlu mengaktifkan NGX_PAGESPEED modul. Mulailah dengan membuat direktori di mana modul akan menyimpan file untuk situs web Anda dan mengatur izin yang sesuai pada direktori ini dengan perintah di bawah ini.

# mkdir -p /var /ngx_pagespeed_cache # chown -r siapa pun: noing newok /var /ngx_pagespeed_cache 
Buat direktori Nginx Cache

11. Sekarang saatnya untuk mengaktifkan NGX_PAGESPEED Modul, buka file konfigurasi nginx dan tambahkan baris di bawah ini.

Penting: Jika Anda telah mengkonfigurasi host virtual nginx di server, tambahkan arahan Halaman di atas ke setiap blok server untuk mengaktifkan NGX_PAGESPEED di setiap situs.

# vi/etc/nginx/nginx.conf 

Tambahkan berikut NGX_PAGESPEED Baris konfigurasi dalam blok server.

# PageSpeed ​​Pengaturan Utama PageSpeed ​​On; PAGESPEED FileCachepath /var /ngx_pagespeed_cache; # Pastikan permintaan untuk sumber daya yang dioptimalkan PageSpeed, buka PageSpeed ​​# Handler dan tidak ada header asing yang ditetapkan. Lokasi ~ "\.PAGESPEED \.([a-z] \.)?[a-z] 2 \.[^.] 10 \.[^.]+"add_header" "" "; location ~"^/ngx_pagespeed_static/" location ~"^/ngx_pagespeed_beacon " 

Berikut ini adalah contoh kerja file konfigurasi nginx NGX_PAGESPEED diaktifkan di host virtual default.

Konfigurasi Nginx dengan NGX_PAGESPEED
#User siapa pun; worker_processes 1; #Error_log Log/Kesalahan.catatan; #Error_log Log/Kesalahan.pemberitahuan log; #Error_log Log/Kesalahan.info log; #pid log/nginx.pid; Acara Worker_Connections 1024;  http sertakan mime.jenis; Aplikasi Default_Type/Octet-Stream; #log_format main '$ remote_addr - $ remote_user [$ time_local] "$ request"' # '$ status $ body_bytes_sent "$ http_referer"' # '"$ http_user_agent" "$ http_x_forwardededededededededed_for"; #access_log Log/Access.log utama; SendFile On; #tcp_nopush on; #KeepAlive_Timeout 0; Keepalive_Timeout 65; #gzip on; server dengarkan 80; server_name localhost; #charset koi8-r; #access_log Log/Host.mengakses.log utama; # PageSpeed ​​Pengaturan Utama PageSpeed ​​On; PAGESPEED FileCachepath /var /ngx_pagespeed_cache; # Pastikan permintaan untuk sumber daya yang dioptimalkan PageSpeed, buka PageSpeed ​​# Handler dan tidak ada header asing yang ditetapkan. Lokasi ~ "\.PAGESPEED \.([a-z] \.)?[a-z] 2 \.[^.] 10 \.[^.]+"add_header" "" "; location ~"^/ngx_pagespeed_static/" location ~"^/ngx_pagespeed_beacon " Lokasi / root html; Indeks Indeks.Indeks HTML.htm;  #Error_Page 404/404.html; # Redirect Server Error Pages ke halaman statis /50x.html # error_page 500 502 503 504 /50x.html; Lokasi = /50x.html root html;  # proxy skrip php untuk mendengarkan apache pada 127.0.0.1:80 # #location ~ \.php $  # proxy_pass http: // 127.0.0.1; # # Lewati skrip php ke server fastcgi mendengarkan 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 /skrip $ fastcgi_script_name; # Sertakan fastcgi_params; # # tolak akses ke .file htaccess, jika dokumen Apache root # setuju dengan satu # #location ~ /\ Nginx.ht  # tolak semua; # # host virtual lain menggunakan campuran ip-, nama-, dan konfigurasi berbasis port # #server  # listen 8000; # Dengarkan Somename: 8080; # server_name somename alias.alias; # Lokasi /  # root html; Indeks indeks.Indeks HTML.htm; # # # Https server # #Server  # Listen 443 SSL; # server_name localhost; # SSL_Certificate Cert.PEM; # ssl_certificate_key sertifikat.kunci; # SSL_SESSION_CACHE Dibagikan: SSL: 1M; # ssl_session_timeout 5m; # SSL_CIPHERS Tinggi:!Anull:!MD5; # ssl_prefer_server_ciphers on; # Lokasi /  # root html; Indeks indeks.Indeks HTML.htm; # # 

12. Setelah itu, pastikan bahwa file konfigurasi nginx bebas kesalahan dengan menjalankan perintah di bawah ini, Anda akan melihat output di bawah ini jika semuanya baik -baik saja.

# nginx -t 
Periksa konfigurasi Nginx untuk kesalahan

13. Akhirnya, restart server nginx agar perubahan berlaku.

# Systemctl restart nginx 

Langkah 5: Menguji Nginx dengan NGX_PAGESPEED

14. Untuk mengetahui apakah NGX_PAGESPEED sekarang bekerja bersama dengan nginx, itu harus muncul di X-Page-Speed header.

# curl -i -p http: // localhost 
Uji nginx dengan ngx_pagespeed

Jika Anda gagal melihat header di atas, lalu kembali ke langkah 11 dan dengan hati-hati ikuti instruksi untuk mengaktifkan NGX-PAGESPEED dengan langkah-langkah selanjutnya.

NGX-PAGESPEED GITHUB Repository: https: // github.com/pagespeed/ngx_pagespeed

Itu semuanya! Dalam tutorial ini, kami menunjukkan cara menginstal dan mengonfigurasi NGINX dengan modul NGX_PAGESPEED untuk mengoptimalkan dan meningkatkan kinerja situs dan mengurangi waktu pemuatan halaman.

Untuk mengamankan server web nginx, baca artikel ini - panduan utama untuk mengamankan, mengeraskan, dan meningkatkan kinerja server web nginx.

Seperti biasa, jangan ragu untuk memberi tahu kami pertanyaan atau pemikiran tentang tutorial ini.