


Bagaimana untuk melaksanakan ketersediaan tinggi Nginx dalam persekitaran pengeluaran
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
Pasang nginx:
yum -y install nginx
Arahan operasi:
systemctl start nginx; #启动nginx systemctl stop nginx; #停止nginx
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:
rreeeUbah suai fail konfigurasi hos (192.168.16.128)
Pemasangan Yum akan menghasilkan fail konfigurasi di bawah /etc/keepalived:
yum -y install keepalived
keepalived.conf:
vi keepalived.conf
Vip boleh dikonfigurasikan dalam virtual_ipaddress, dan perkhidmatan boleh diakses dalam talian melalui vip.
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),可多设,每行一个 } }
) dan mendapati halaman itu masih memaparkan: 192.168.16.130
pada masa ini, yang ialah mula semula automatik dalam skrip. 192.168.16.128
, akses VIP di sini (192.168.16.128
) dan kini mendapati bahawa halaman memaparkan
akan gagal secara automatik. akhir persekitaran pengeluaran peringkat perusahaan Penyelesaian yang ada dibina. Terdapat banyak fungsi dalam 192.168.16.130
192.168.16.128
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!

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



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.

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.

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.

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.

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.

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.

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

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.
