Percepat kinerja Nginx dengan NGX_PAGESPEED di CentOS 7
- 4025
- 1121
- Hector Kuhic
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.GZUnduh 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.ritsletingUnduh 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.GZUnduh 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_flagsKonfigurasikan nginx dengan NGX_PAGESPEED
6. Selanjutnya, kompilasi dan instal Nginx sebagai berikut.
# buat # buat instalKompilasi 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/nginxBuat 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.targetFile 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 NginxMulai 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_cacheBuat 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 -tPeriksa 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: // localhostUji 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.
- « Cara menginstal vagrant di centos 7
- Menyiapkan prasyarat untuk instalasi Oracle 12c di RHEL/CentOS/Oracle Linux 6.5 - Bagian I »