Rumah Operasi dan penyelenggaraan Nginx Bagaimana untuk melaksanakan ketersediaan tinggi Nginx dalam persekitaran pengeluaran

Bagaimana untuk melaksanakan ketersediaan tinggi Nginx dalam persekitaran pengeluaran

May 23, 2023 am 09:25 AM
nginx

Persediaan:

192.168.16.128

192.168.16.129

Dua mesin maya. Pasang nginx

Pasang nginx

Kemas kini fail sumber yum:

rpm -ivh http://nginx.org/packages/centos/7/noarch/rpms/nginx-release-centos-7-0.el7.ngx.noarch.rpm
wget -o /etc/yum.repos.d/centos-base.repo http://mirrors.aliyun.com/repo/centos-7.repo
Salin selepas log masuk

Pasang nginx:

yum -y install nginx
Salin selepas log masuk

Arahan operasi:

systemctl start nginx; #启动nginx
systemctl stop nginx; #停止nginx
Salin selepas log masuk

Apakah ketersediaan tinggi?

Ketersediaan tinggi (high availability) merupakan salah satu faktor yang perlu diambil kira dalam reka bentuk seni bina sistem teragih Ia biasanya merujuk kepada pengurangan 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 mencapai ketersediaan nginx yang tinggi

.

Penyelesaian sandaran panas dwi-mesin

Penyelesaian ini ialah penyelesaian ketersediaan tinggi yang paling biasa di kalangan perusahaan tempatan sandaran panas dwi-mesin sebenarnya merujuk kepada a Satu pelayan menyediakan perkhidmatan, dan yang lain dalam keadaan siap sedia untuk perkhidmatan tertentu Apabila satu pelayan tidak tersedia, yang lain akan menggantikannya.

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, vrrp (penghala maya) telah ditambahkan untuk mencapai ketersediaan yang tinggi . protokol redundansi, protokol redundansi penghala maya) fungsi. Oleh itu, selain dapat mengurus perisian LVS, keepalived juga boleh digunakan sebagai perisian penyelesaian ketersediaan tinggi untuk perkhidmatan lain (seperti: nginx, haproxy, mysql, dll.)

failover mekanisme

Pemindahan failover antara perkhidmatan ketersediaan tinggi yang kekal dilaksanakan melalui vrrp.

Apabila perkhidmatan keepalived berfungsi seperti biasa, nod induk akan terus menghantar mesej degupan jantung (berbilang hantar) ke nod sandaran untuk memberitahu nod sandaran bahawa ia masih hidup Apabila nod induk gagal, , ia tidak boleh menghantar mesej degupan jantung, dan nod siap sedia tidak dapat terus mengesan degupan jantung daripada nod induk, jadi ia memanggil program pengambilalihan sendiri untuk mengambil alih sumber IP dan perkhidmatan nod induk. Apabila nod induk utama pulih, nod sandaran akan mengeluarkan sumber IP dan perkhidmatan yang diambil alih apabila nod utama gagal, dan kembali kepada peranan sandaran asalnya.

Proses pelaksanaan

Pasang keepalived

Anda boleh memasangnya terus menggunakan yum, yang akan memasang dependencies secara automatik:

rreee

Ubah suai fail konfigurasi hos (192.168.16.128)

Pemasangan Yum akan menghasilkan fail konfigurasi di bawah /etc/keepalived:

yum -y install keepalived
Salin selepas log masuk

keepalived.conf:

vi keepalived.conf
Salin selepas log masuk
<🎜

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 ip addr

Konfigurasi pengesahan ke mesin sandaran juga memerlukan konfigurasi yang sama

Ubah suai konfigurasi mesin sandaran (192.168.16.129). sh

Penjelasan: Skrip mesti dibenarkan, jika tidak, tiada kebenaran untuk mengakses Di sini kami mempunyai dua pelayan yang melaksanakan

Dalam persekitaran pengeluaran, kami mengakses perkhidmatan secara terus melalui VIP.

Simulasikan kegagalan nginx:

Ubah suai halaman html nginx yang diakses oleh kedua-dua pelayan secara lalai sebagai perbezaan.

Lawatan pertama

, akses melalui VIP, halaman memaparkan vip(virtual_ipaddress:192.168.16.130), menunjukkan bahawa perkhidmatan semasa disediakan oleh pelayan utama.

Pada masa ini

pelayan utama melaksanakan arahan:

#检测脚本
vrrp_script chk_http_port {
 script "/usr/local/src/check_nginx_pid.sh" #心跳执行的脚本,检测nginx是否启动
 interval 2       #(检测脚本执行的间隔,单位是秒)
 weight 2       #权重
}
#vrrp 实例定义部分
vrrp_instance vi_1 {
 state master   # 指定keepalived的角色,master为主,backup为备
 interface ens33   # 当前进行vrrp通讯的网络接口卡(当前centos的网卡) 用ifconfig查看你具体的网卡
 virtual_router_id 66 # 虚拟路由编号,主从要一直
 priority 100   # 优先级,数值越大,获取处理请求的优先级越高
 advert_int 1   # 检查间隔,默认为1s(vrrp组播周期秒数)
 #授权访问
 authentication {
  auth_type pass #设置验证类型和密码,master和backup必须使用相同的密码才能正常通信
  auth_pass 1111
 }
 track_script {
  chk_http_port   #(调用检测脚本)
 }
 virtual_ipaddress {
  192.168.16.130   # 定义虚拟ip(vip),可多设,每行一个
 }
}
Salin selepas log masuk
Lawati VIP sekali lagi (

) dan mendapati halaman itu masih memaparkan: 192.168.16.130 pada masa ini, yang ialah mula semula automatik dalam skrip. 192.168.16.128

Sekarang tutup terus pelayan

, akses VIP di sini (192.168.16.128) dan kini mendapati bahawa halaman memaparkan

Pada masa ini,

akan gagal secara automatik. akhir persekitaran pengeluaran peringkat perusahaan Penyelesaian yang ada dibina. Terdapat banyak fungsi dalam 192.168.16.130192.168.16.128

, seperti peringatan e-mel, dsb., tetapi anda boleh pergi ke tapak web rasmi untuk membaca dokumentasi.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan ketersediaan tinggi Nginx dalam persekitaran pengeluaran. 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)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan 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)

Cara memeriksa sama ada nginx dimulakan Cara memeriksa sama ada nginx dimulakan Apr 14, 2025 pm 01:03 PM

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.

Cara Mengkonfigurasi Nginx di Windows Cara Mengkonfigurasi Nginx di Windows Apr 14, 2025 pm 12:57 PM

Bagaimana cara mengkonfigurasi nginx di Windows? Pasang Nginx dan buat konfigurasi hos maya. Ubah suai fail konfigurasi utama dan sertakan konfigurasi hos maya. Mulakan atau Muat semula Nginx. Uji konfigurasi dan lihat laman web. Selektif membolehkan SSL dan mengkonfigurasi sijil SSL. Selektif tetapkan firewall untuk membolehkan trafik port 80 dan 443.

Bagaimana untuk memeriksa sama ada Nginx dimulakan? Bagaimana untuk memeriksa sama ada Nginx dimulakan? Apr 14, 2025 pm 12:48 PM

Di Linux, gunakan arahan berikut untuk memeriksa sama ada nginx dimulakan: Hakim status SistemCTL Nginx berdasarkan output arahan: Jika "Aktif: Aktif (Running)" dipaparkan, Nginx dimulakan. Jika "aktif: tidak aktif (mati)" dipaparkan, nginx dihentikan.

Cara memulakan nginx di linux Cara memulakan nginx di linux Apr 14, 2025 pm 12:51 PM

Langkah -langkah untuk memulakan Nginx di Linux: Periksa sama ada Nginx dipasang. Gunakan SistemCTL Mula Nginx untuk memulakan perkhidmatan Nginx. Gunakan SistemCTL Dayakan NGINX untuk membolehkan permulaan automatik Nginx pada permulaan sistem. Gunakan Status SistemCTL Nginx untuk mengesahkan bahawa permulaan berjaya. Lawati http: // localhost dalam pelayar web untuk melihat halaman selamat datang lalai.

Cara menyelesaikan masalah domain nginx Cara menyelesaikan masalah domain nginx Apr 14, 2025 am 10:15 AM

Terdapat dua cara untuk menyelesaikan masalah silang domain Nginx: Ubah suai tajuk tindak balas silang domain: Tambah arahan untuk membenarkan permintaan lintas domain, nyatakan kaedah dan tajuk yang dibenarkan, dan tetapkan masa cache. Gunakan modul CORS: Dayakan modul dan konfigurasikan peraturan CORS untuk membolehkan permintaan, kaedah, tajuk, dan masa cache domain.

Cara memeriksa status nginx yang berjalan Cara memeriksa status nginx yang berjalan Apr 14, 2025 am 11:48 AM

Kaedah untuk melihat status berjalan nginx adalah: Gunakan arahan PS untuk melihat status proses; Lihat fail konfigurasi nginx /etc/nginx/nginx.conf; Gunakan modul status nginx untuk membolehkan titik akhir status; Gunakan alat pemantauan seperti Prometheus, Zabbix, atau Nagios.

Cara memulakan pelayan nginx Cara memulakan pelayan nginx Apr 14, 2025 pm 12:27 PM

Memulakan pelayan Nginx memerlukan langkah-langkah yang berbeza mengikut sistem operasi yang berbeza: Sistem Linux/Unix: Pasang pakej Nginx (contohnya, menggunakan apt-get atau yum). Gunakan SystemCTL untuk memulakan perkhidmatan Nginx (contohnya, SUDO SystemCTL Mula Nginx). Sistem Windows: Muat turun dan pasang fail binari Windows. Mula Nginx menggunakan nginx.exe executable (contohnya, nginx.exe -c conf \ nginx.conf). Tidak kira sistem operasi yang anda gunakan, anda boleh mengakses IP pelayan

Cara menyelesaikan ralat nginx304 Cara menyelesaikan ralat nginx304 Apr 14, 2025 pm 12:45 PM

Jawab kepada Soalan: 304 Tidak diubahsuai ralat menunjukkan bahawa penyemak imbas telah cache versi sumber terkini permintaan klien. Penyelesaian: 1. Kosongkan cache penyemak imbas; 2. Lumpuhkan cache penyemak imbas; 3. Konfigurasi nginx untuk membolehkan cache pelanggan; 4. Periksa keizinan fail; 5. Semak fail hash; 6. Lumpuhkan CDN atau cache proksi terbalik; 7. Mulakan semula nginx.

See all articles