Penyediaan:
192.168.16.128
192.168.16.129
Dua mesin maya. Pasang Nginx
Pasang Nginx
Kemas kini fail sumber yum:
rpm-ivhhttp://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
wget-O/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo
Pasang Nginx:
yum-yinstallnginx
Perintah operasi:
systemctlstartnginx;#Mulakan Nginx
systemctlstopnginx;#Hentikan Nginx
Apakah ketersediaan tinggi?
Ketersediaan tinggi HA (HighAvailability) adalah salah satu faktor yang mesti dipertimbangkan dalam reka bentuk seni bina sistem teragih Ia biasanya merujuk kepada mengurangkan masa apabila sistem tidak dapat menyediakan perkhidmatan melalui reka bentuk. Jika sistem sentiasa boleh menyediakan perkhidmatan, maka ketersediaan adalah 100%, tetapi terdapat keadaan yang tidak dijangka. Jadi kami hanya boleh cuba mengurangkan kegagalan perkhidmatan sebanyak mungkin.
Masalah selesai?
Dalam persekitaran pengeluaran, Nginx sering digunakan sebagai proksi terbalik untuk menyediakan perkhidmatan luaran Walau bagaimanapun, Nginx pasti akan menghadapi kegagalan suatu hari nanti, seperti masa henti pelayan. Apabila Nginx turun, semua antara muka yang disediakan secara luaran akan menjadi tidak boleh diakses.
Walaupun kami tidak dapat menjamin bahawa pelayan tersedia 100%, kami mesti mencari cara untuk mengelakkan tragedi ini Hari ini kami menggunakan keepalived untuk melaksanakan Nginx
Ketersediaan tinggi.
Penyelesaian sandaran panas dwi-mesin
Penyelesaian ini ialah penyelesaian ketersediaan tinggi yang paling biasa di kalangan perusahaan domestik dwi-pelayan sandaran panas sebenarnya bermakna bahawa satu pelayan menyediakan perkhidmatan dan yang lain berada dalam keadaan sedia untuk perkhidmatan tertentu Apabila satu pelayan tidak tersedia, yang lain akan mengambil tempat dia.
Apa itu keepalived?
Perisian Keepalived pada asalnya direka untuk perisian pengimbangan beban LVS untuk mengurus dan memantau status setiap nod perkhidmatan dalam sistem kluster LVS Kemudian, ia menambah fungsi VRRP (Virtual Router Redundancy Protocol) yang boleh mencapai ketersediaan tinggi. Oleh itu, selain mengurus perisian LVS, Keepalived juga boleh digunakan sebagai perisian penyelesaian ketersediaan tinggi untuk perkhidmatan lain (seperti Nginx, Haproxy, MySQL, dll.)
Mekanisme Failover
Pemindahan failover antara perkhidmatan ketersediaan tinggi Keepalived dilaksanakan melalui VRRP.
Apabila perkhidmatan Keepalived berfungsi seperti biasa, nod Induk utama akan terus menghantar mesej degupan jantung (berbilang hantar) ke nod sandaran untuk memberitahu nod Sandaran sandaran bahawa ia masih hidup Apabila nod Induk utama gagal, ia tidak boleh menghantar mesej degupan jantung dan nod sandaran tidak akan dapat menghantar mesej degupan jantung Oleh itu, nod tidak lagi dapat mengesan degupan jantung daripada nod Induk utama, jadi ia memanggil program pengambilalihannya sendiri untuk mengambil alih sumber dan perkhidmatan IP nod Induk utama. Apabila nod induk pulih, nod sandaran akan mengeluarkan sumber dan perkhidmatan IP yang diambil alih apabila nod induk gagal, dan kembali kepada peranan sandaran asalnya.
Proses pelaksanaan
Pasang keepalived
Anda boleh memasangnya terus menggunakan yum Kaedah ini akan memasang kebergantungan secara automatik:
yum-yinstallkeepalived
Ubah suai fail konfigurasi hos (192.168.16.128) yang disimpan
Pemasangan menggunakan yum akan menghasilkan fail konfigurasi di bawah /etc/keepalived:
vikeepalived.conf
keeplived.conf:
Skrip #Pengesanan
vrrp_scriptchk_http_port{
script"/usr/local/src/check_nginx_pid.sh"#Skrip pelaksanaan Heartbeat untuk mengesan sama ada nginx dimulakan
interval2# (selang untuk mengesan pelaksanaan skrip, unit ialah saat)
berat2# berat
}
#vrrpInstance bahagian definisi
vrrp_instanceVI_1{
stateMASTER#Nyatakan peranan keepalived, MASTER adalah yang utama, BACKUP adalah sandaran
interfaceens33#Kad antara muka rangkaian semasa untuk komunikasi vrrp (kad rangkaian centos semasa), gunakan ifconfig untuk menyemak kad rangkaian khusus anda
virtual_router_id66#Nombor laluan maya, tuan dan hamba hendaklah sentiasa
keutamaan100#Keutamaan, lebih besar nilai, lebih tinggi keutamaan untuk mendapatkan dan memproses permintaan
advert_int1# Semak selang, lalai ialah 1s (saat kitaran berbilang hantaran vrrp)
#Akses dibenarkan
Pengesahan{
auth_typePASS#Tetapkan jenis pengesahan dan kata laluan MASTER dan BACKUP mesti menggunakan kata laluan yang sama untuk komunikasi biasa
auth_pass1111
}
track_script{
chk_http_port# (skrip pengesanan panggilan)
}
virtual_ipaddress{
192.168.16.130#Tentukan ip maya (VIP), anda boleh menetapkan lebih daripada satu, satu setiap baris
}
}
Vip boleh dikonfigurasikan dalam virtual_ipaddress, dan perkhidmatan boleh diakses dalam talian melalui vip.
Antara muka perlu ditetapkan mengikut kad rangkaian pelayan Kaedah tontonan biasa ialah ipaddr
Akses kebenaran konfigurasi pengesahan kepada mesin sandaran juga memerlukan konfigurasi yang sama
Ubah suai mesin sandaran (192.168.16.129) fail konfigurasi yang disimpan
keeplived.conf:
Skrip #Pengesanan
vrrp_scriptchk_http_port{
script"/usr/local/src/check_nginx_pid.sh"#Skrip pelaksanaan Heartbeat untuk mengesan sama ada nginx dimulakan
interval2# (selang pelaksanaan skrip pengesanan)
berat2# berat
}
#vrrpInstance bahagian definisi
vrrp_instanceVI_1{
stateBACKUP#Nyatakan peranan keepalived, MASTER adalah yang utama, BACKUP adalah sandaran
interfaceens33#Kad antara muka rangkaian semasa untuk komunikasi vrrp (kad rangkaian centos semasa), gunakan ifconfig untuk menyemak kad rangkaian khusus anda
virtual_router_id66#Nombor laluan maya, tuan dan hamba hendaklah sentiasa
priority99#Keutamaan, lebih besar nilai, lebih tinggi keutamaan untuk mendapatkan dan memproses permintaan
advert_int1# Semak selang, lalai ialah 1s (saat kitaran berbilang hantaran vrrp)
#Akses dibenarkan
Pengesahan{
auth_typePASS#Tetapkan jenis pengesahan dan kata laluan MASTER dan BACKUP mesti menggunakan kata laluan yang sama untuk komunikasi biasa
auth_pass1111
}
track_script{
chk_http_port# (skrip pengesanan panggilan)
}
virtual_ipaddress{
192.168.16.130#Tentukan ip maya (VIP), anda boleh menetapkan lebih daripada satu, satu setiap baris
}
}
Skrip pengesanan:
#!/bin/bash
#Kesan sama ada nginx dimulakan
A=`ps-Cnginx--no-header|wc-l`
if[$A-eq0];then#Jika nginx tidak dimulakan, mulakan nginx
systemctlstartnginx#restart nginx
jika[`ps-Cnginx--no-header|wc-l`-eq0];maka#nginx gagal dimulakan semula, hentikan perkhidmatan keepalived dan lakukan pemindahan VIP
killallkeepalived
fi
fi
Keizinan skrip: chmod775check_nginx_pid.sh
Nota: Skrip mesti dibenarkan, jika tidak, ia tidak akan mempunyai kebenaran untuk mengakses Di sini kami mempunyai dua pelayan yang melaksanakan, VIP (virtual_ipaddress:192.168.16.130), kami mengakses perkhidmatan secara terus melalui VIP dalam persekitaran pengeluaran.
Simulasikan kegagalan nginx:
Ubah suai halaman html Nginx yang diakses oleh kedua-dua pelayan secara lalai sebagai perbezaan.
Pertama, akses 192.168.16.130 melalui VIP Halaman memaparkan 192.168.16.128 yang menunjukkan bahawa ia adalah perkhidmatan yang disediakan oleh pelayan utama.
Pada masa ini, pelayan utama 192.168.16.128 melaksanakan arahan:
systemctlstopnginx;#stop nginx
Lawati VIP (192.168.16.130) sekali lagi dan ketahui bahawa halaman masih memaparkan: 192.168.16.128 Ini ialah permulaan semula automatik dalam skrip.
Sekarang tutup terus pelayan 192.168.16.128, lawati VIP di sini (192.168.16.130) dan kini mendapati halaman tersebut menunjukkan 192.168.16.129 Pada masa ini, keepalived akan gagal secara automatik dan penyelesaian ketersediaan tinggi untuk pengeluaran peringkat perusahaan persekitaran telah diwujudkan.
Terdapat banyak fungsi dalam keepalived, seperti peringatan e-mel, dsb., tetapi ia tidak tersedia. Anda boleh pergi ke laman web rasmi untuk membaca dokumentasi.
Atas ialah kandungan terperinci Kaedah ketersediaan tinggi Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Nginx dan Apache adalah pelayan web yang kuat, masing -masing dengan kelebihan dan kekurangan yang unik dari segi prestasi, skalabilitas dan kecekapan. 1) Nginx berfungsi dengan baik apabila mengendalikan kandungan statik dan terbalik proxying, sesuai untuk senario konvensional yang tinggi. 2) Apache melakukan lebih baik apabila memproses kandungan dinamik dan sesuai untuk projek yang memerlukan sokongan modul yang kaya. Pemilihan pelayan harus ditentukan berdasarkan keperluan dan senario projek.

Nginx sesuai untuk mengendalikan permintaan serentak yang tinggi, manakala Apache sesuai untuk senario di mana konfigurasi kompleks dan sambungan berfungsi diperlukan. 1.Nginx mengamalkan seni bina yang didorong oleh peristiwa, tidak menyekat, dan sesuai untuk persekitaran yang tinggi. 2. Apache mengamalkan model atau model benang untuk menyediakan ekosistem modul yang kaya yang sesuai untuk keperluan konfigurasi kompleks.

Nginx boleh digunakan untuk meningkatkan prestasi laman web, keselamatan, dan skalabiliti. 1) Sebagai proksi terbalik dan pengimbang beban, Nginx dapat mengoptimumkan perkhidmatan back-end dan berkongsi lalu lintas. 2) Melalui seni bina yang didorong oleh peristiwa dan tak segerak, Nginx dengan cekap mengendalikan sambungan serentak yang tinggi. 3) Fail konfigurasi membenarkan definisi peraturan yang fleksibel, seperti perkhidmatan fail statik dan mengimbangi beban. 4) Cadangan pengoptimuman termasuk membolehkan pemampatan GZIP, menggunakan cache dan menala proses pekerja.

NginxUnit menyokong pelbagai bahasa pengaturcaraan dan dilaksanakan melalui reka bentuk modular. 1. Memuatkan Modul Bahasa: Muatkan modul yang sepadan mengikut fail konfigurasi. 2. Permulaan Permohonan: Jalankan kod aplikasi apabila bahasa panggilan berjalan. 3. Permintaan Pemprosesan: Teruskan permintaan kepada contoh permohonan. 4. Pulangan Respons: Kembalikan respons yang diproses kepada pelanggan.

Nginx dan Apache mempunyai kelebihan dan kekurangan mereka sendiri dan sesuai untuk senario yang berbeza. 1.Nginx sesuai untuk senario penggunaan sumber yang tinggi dan rendah. 2. Apache sesuai untuk senario di mana konfigurasi kompleks dan modul yang kaya diperlukan. Dengan membandingkan ciri teras mereka, perbezaan prestasi, dan amalan terbaik, anda boleh membantu anda memilih perisian pelayan yang paling sesuai dengan keperluan anda.

Soalan: Bagaimana untuk memulakan nginx? Jawapan: Pasang Nginx Startup Nginx Verification Nginx adalah nginx mula meneroka pilihan permulaan lain secara automatik Mula nginx

Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

Untuk menutup perkhidmatan nginx, ikuti langkah -langkah berikut: Tentukan jenis pemasangan: Red Hat/CentOS (status SistemCTL nginx) atau debian/ubuntu (status nginx) menghentikan perkhidmatan: Red Hat/CentOS (SystemCtl Stop Nginx) atau Debian/Ubuntu (perkhidmatan Nginx) (Syst


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa