Kaedah ketersediaan tinggi Nginx
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!

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

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

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.

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.

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.

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

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.

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.

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.

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.
