Rumah > Artikel > Operasi dan penyelenggaraan > Kaedah konfigurasi permulaan Nginx
Konsep asas
Penggunaan nginx yang paling biasa adalah untuk menyediakan perkhidmatan proksi terbalik, jadi apakah proksi terbalik? Saya percaya bahawa ramai rakan senegara tanah besar telah menggunakan proksi hadapan di tanah ajaib ini Prinsipnya secara kasarnya seperti berikut:
Pelayan proksi bertindak sebagai perantara di pihak pelanggan untuk menerima. permintaan, sembunyikan klien sebenar dan dapatkan sumber daripada pelayan. Jika pelayan proksi berada di luar Tembok Besar, ia juga boleh membantu kami mencapai tujuan menyeberangi Tembok Besar. Seperti namanya, proksi terbalik adalah menggunakan pelayan proksi sebagai perantara untuk pelayan, menyembunyikan pelayan yang sebenarnya menyediakan perkhidmatan Secara kasarnya adalah seperti berikut:
. Sudah tentu ini tidak dilakukan untuk mencapai Tembok Besar memintas, tetapi untuk mencapai satu siri fungsi seperti keselamatan dan pengimbangan beban. Apa yang dipanggil keselamatan bermakna permintaan pelanggan tidak akan jatuh terus ke pelayan intranet tetapi akan dimajukan melalui proksi Pada lapisan ini, satu siri strategi seperti penapisan keselamatan, kawalan aliran dan pencegahan DDoS boleh dilaksanakan. Pengimbangan beban bermakna kita boleh mengembangkan secara mendatar bilangan pelayan yang sebenarnya menyediakan perkhidmatan pada bahagian belakang Ejen memajukan permintaan kepada setiap pelayan mengikut peraturan, supaya beban setiap pelayan hampir seimbang.
Dan nginx ialah perkhidmatan proksi terbalik yang popular.
Di bawah ubuntu, anda boleh melangkau proses kompilasi dan pemasangan dan terus apt-get
Salin kod tersebut adalah seperti berikut:
sudo apt-. dapatkan install nginx
Selepas pemasangan, anda boleh terus memulakan perkhidmatan nginx melalui:
Salin kod adalah seperti berikut:
perkhidmatan sudo nginx mula
. nginx ditetapkan secara lalai Untuk pemajuan port 80, kami boleh menyemaknya dengan mengakses http://locallhost dalam penyemak imbas.
Konfigurasi awal
fail konfigurasi lalai nginx terletak di
Salin kod Kod adalah seperti berikut:
/etc/nginx /nginx.conf
Cara terbaik untuk mempelajari konfigurasi ialah dengan memulakan dengan contoh Jangan lihat konfigurasi lain dahulu, tetapi terus lihat konfigurasi yang berkaitan dengan halaman lalai nginx. Terdapat baris dalam fail konfigurasi:
Salin kod Kod adalah seperti berikut:
include /etc/nginx/sites-enabled/*;
Baris ini memuatkan Untuk fail konfigurasi luaran, terdapat hanya satu fail lalai dalam folder yang didayakan tapak Fail konfigurasi luaran ini bertanggungjawab untuk proksi lalai nginx kami. Selepas mengecilkan kandungan konfigurasi, anda mendapat baris berikut:
Salin kod Kod adalah seperti berikut:
server {
server_name localhost;
listen 80 default_server;
dengar [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
lokasi / {
try_files $uri $uri/ =404;
}
}
Sebuah laman web yang besar biasanya mempunyai banyak tapak bawahan, dengan pelayan mereka sendiri menyediakan perkhidmatan yang sepadan boleh mengasingkan konfigurasi perkhidmatan yang berbeza ini melalui konsep yang dipanggil hos maya Ini adalah maksud pelayan dalam konfigurasi di atas. Sebagai contoh, Google mempunyai dua produk: terjemahan dan akademik Kami boleh mengkonfigurasi dua pelayan dalam fail konfigurasi nginx masing-masing adalah translate.google.com dan scholar.google.com ke tetapan nginx yang sepadan dan ke hadapan ke pelayan back-end yang berbeza. Nama pelayan di sini sepadan dengan baris hos dalam permintaan http klien.
Dalam contoh ini, server_name ialah localhost, itulah sebabnya kami boleh mengakses konfigurasi halaman melalui localhost dalam penyemak imbas. Dua pendengaran berikut sepadan dengan port pendengaran di bawah ipv4 dan ipv6 masing-masing Jika ditetapkan kepada 8080, maka kami hanya boleh mengakses halaman lalai melalui localhost:8080.
Maksud default_server bermaksud jika terdapat tetapan hos permintaan http lain yang tidak wujud dalam nginx, maka konfigurasi pelayan ini akan digunakan. Sebagai contoh, jika kita mengakses 127.0.0.1, ia juga akan jatuh ke pelayan ini untuk diproses.
Setiap permintaan url akan sepadan dengan perkhidmatan dan nginx akan memproses dan memajukannya sama ada ke laluan fail setempat atau laluan perkhidmatan pelayan lain. Pemadanan laluan ini dilakukan melalui lokasi. Kita boleh menganggap pelayan sebagai konfigurasi yang sepadan dengan nama domain, dan lokasi sebagai konfigurasi laluan yang lebih berbutir di bawah nama domain.
Semua permintaan bermula dengan padanan lokasi /, iaitu, /xxx atau /yyy di bawah localhost, mesti melalui konfigurasi berikut Selain padanan mudah dan kasar ini, nginx juga menyokong kesaksamaan biasa dan lengkap serta kaedah pemadanan halus yang lain . Dan tryfiles bermakna bahawa nginx akan mengakses fail dalam susunan berikut dan mengembalikan yang pertama padanan. Sebagai contoh, jika anda meminta localhost/test, ia akan mencari fail /test Jika ia tidak menemuinya, ia akan mencari /test/ Jika ia tidak menemuinya, ia akan mengembalikan 404. Selain itu, kami juga boleh menggunakan proxypass dalam konfigurasi lokasi untuk melaksanakan proksi terbalik dan pengimbangan beban, tetapi konfigurasi paling mudah ini tidak melibatkan
di mana root merujuk kepada folder setempat sebagai punca semua laluan permintaan url. Contohnya, jika pengguna meminta localhost/test, maka nginx akan mencari fail ujian dalam folder /usr/share/nginx/html dan mengembalikannya.
Dan index ialah halaman capaian lalai Apabila kita mengakses localhost, ia akan mencari index.html dan index.htm secara automatik dalam laluan fail root dan mengembalikan hasil pertama yang ditemui.
Konfigurasi lokasi lanjutan
Konfigurasi di atas hanya memetakan URL pengguna ke fail setempat dan tidak melaksanakan proksi terbalik legenda dan pengimbangan beban (sudah tentu nginx statik Pengagihan daripada fail juga sangat mengagumkan), mari kita konfigurasikan lagi lokasi untuk melihat cara mencapainya.
Konfigurasinya sangat mudah Contohnya, jika saya mahu memindahkan semua permintaan ke port 8080 mesin yang sebenarnya menyediakan perkhidmatan, cuma lakukan ini:
Salin kod. kod adalah seperti berikut:
lokasi / {
proxy_pass 123.34.56.67:8080;
}
Dengan cara ini, semua permintaan akan menjadi proksi terbalik kepada 123.34.56.67. Dengan cara ini, fungsi proksi terbalik kami telah direalisasikan, tetapi bagaimanakah boleh ada pengimbangan beban jika kami boleh proksi ke pelayan? Ini memerlukan modul huluan nginx.
Salin kod Kod adalah seperti berikut:
upstream backend {
ip_hash;
server backend1.example.com;
server backend2. example.com ;
pelayan backend3.example.com;
pelayan backend4.example.com;
}
lokasi / {
proxy_pass http://backend;
}
Kami menetapkan kumpulan mesin di hulu dan menamakan kumpulan ini bahagian belakang Dengan cara ini, dalam proxypass, selagi permintaan dipindahkan ke bahagian belakang hulu, kami boleh mencapai proksi terbalik serta pengimbangan beban pada empat mesin. Iphash menunjukkan bahawa kaedah seimbang kami adalah untuk memperuntukkan mengikut alamat IP pengguna.
Untuk membuat konfigurasi berkuat kuasa, kami tidak perlu memulakan semula nginx, kami hanya perlu memuatkan semula konfigurasi.
Salin kod Kod adalah seperti berikut:
sudo service nginx reload
Atas ialah kandungan terperinci Kaedah konfigurasi permulaan Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!