Rumah Operasi dan penyelenggaraan Nginx Kaedah ketersediaan tinggi Nginx

Kaedah ketersediaan tinggi Nginx

May 31, 2023 pm 03:04 PM
nginx

Penyediaan:

Kaedah ketersediaan tinggi Nginx

 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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Apr 21, 2024 am 07:22 AM

Untuk membenarkan pelayan Tomcat mengakses rangkaian luaran, anda perlu: mengubah suai fail konfigurasi Tomcat untuk membenarkan sambungan luaran. Tambahkan peraturan tembok api untuk membenarkan akses kepada port pelayan Tomcat. Buat rekod DNS yang menunjukkan nama domain ke IP awam pelayan Tomcat. Pilihan: Gunakan proksi terbalik untuk meningkatkan keselamatan dan prestasi. Pilihan: Sediakan HTTPS untuk meningkatkan keselamatan.

Apakah perintah mula dan henti nginx? Apakah perintah mula dan henti nginx? Apr 02, 2024 pm 08:45 PM

Arahan mula dan henti Nginx ialah nginx dan nginx -s quit masing-masing. Perintah mula memulakan pelayan secara langsung, manakala arahan berhenti dengan anggun menutup pelayan, membenarkan semua permintaan semasa diproses. Isyarat berhenti lain yang tersedia termasuk berhenti dan muat semula.

Bagaimana untuk menjalankan thinkphp Bagaimana untuk menjalankan thinkphp Apr 09, 2024 pm 05:39 PM

Langkah-langkah untuk menjalankan ThinkPHP Framework secara setempat: Muat turun dan nyahzip ThinkPHP Framework ke direktori tempatan. Buat hos maya (pilihan) yang menunjuk ke direktori akar ThinkPHP. Konfigurasikan parameter sambungan pangkalan data. Mulakan pelayan web. Mulakan aplikasi ThinkPHP. Akses URL aplikasi ThinkPHP dan jalankannya.

Bagaimana untuk menggunakan projek nodejs ke pelayan Bagaimana untuk menggunakan projek nodejs ke pelayan Apr 21, 2024 am 04:40 AM

Langkah-langkah penggunaan pelayan untuk projek Node.js: Sediakan persekitaran penggunaan: dapatkan akses pelayan, pasang Node.js, sediakan repositori Git. Bina aplikasi: Gunakan npm run build untuk menjana kod dan kebergantungan yang boleh digunakan. Muat naik kod ke pelayan: melalui Git atau Protokol Pemindahan Fail. Pasang kebergantungan: SSH ke dalam pelayan dan gunakan pemasangan npm untuk memasang kebergantungan aplikasi. Mulakan aplikasi: Gunakan arahan seperti node index.js untuk memulakan aplikasi, atau gunakan pengurus proses seperti pm2. Konfigurasikan proksi terbalik (pilihan): Gunakan proksi terbalik seperti Nginx atau Apache untuk menghalakan trafik ke aplikasi anda

Selamat datang ke nginx! Bagaimana untuk menyelesaikannya? Selamat datang ke nginx! Bagaimana untuk menyelesaikannya? Apr 17, 2024 am 05:12 AM

Untuk menyelesaikan ralat "Selamat datang ke nginx!", anda perlu menyemak konfigurasi hos maya, dayakan hos maya, muat semula Nginx, jika fail konfigurasi hos maya tidak dapat ditemui, buat halaman lalai dan muat semula Nginx, kemudian mesej ralat akan hilang dan laman web akan menjadi paparan biasa.

Cara mendaftar phpmyadmin Cara mendaftar phpmyadmin Apr 07, 2024 pm 02:45 PM

Untuk mendaftar untuk phpMyAdmin, anda perlu terlebih dahulu mencipta pengguna MySQL dan memberikan kebenaran kepadanya, kemudian memuat turun, memasang dan mengkonfigurasi phpMyAdmin, dan akhirnya log masuk ke phpMyAdmin untuk mengurus pangkalan data.

Bagaimana untuk menyelesaikan masalah nginx semasa mengakses laman web Bagaimana untuk menyelesaikan masalah nginx semasa mengakses laman web Apr 02, 2024 pm 08:39 PM

nginx muncul apabila mengakses tapak web Sebabnya mungkin: penyelenggaraan pelayan, pelayan sibuk, cache penyemak imbas, isu DNS, penyekatan firewall, salah konfigurasi tapak web, isu sambungan rangkaian atau tapak web tidak berfungsi. Cuba penyelesaian berikut: tunggu sehingga penyelenggaraan tamat, lawati pada waktu luar sibuk, kosongkan cache penyemak imbas anda, siram cache DNS anda, lumpuhkan perisian firewall atau antivirus, hubungi pentadbir tapak, semak sambungan rangkaian anda atau gunakan enjin carian atau arkib web untuk mencari salinan tapak yang lain. Jika masalah berterusan, sila hubungi pentadbir tapak.

Cara berkomunikasi antara bekas docker Cara berkomunikasi antara bekas docker Apr 07, 2024 pm 06:24 PM

Terdapat lima kaedah untuk komunikasi kontena dalam persekitaran Docker: rangkaian kongsi, Karang Docker, proksi rangkaian, volum dikongsi dan baris gilir mesej. Bergantung pada keperluan pengasingan dan keselamatan anda, pilih kaedah komunikasi yang paling sesuai, seperti memanfaatkan Docker Compose untuk memudahkan sambungan atau menggunakan proksi rangkaian untuk meningkatkan pengasingan.

See all articles