Apakah kaedah untuk meningkatkan kelancaran persekitaran pengeluaran Nginx?

WBOY
Lepaskan: 2023-05-13 17:58:06
ke hadapan
1366 orang telah melayarinya

1. Latar Belakang

Baru-baru ini saya menghadapi masalah yang agak memalukan dan praktikal, iaitu Nginx yang digunakan dalam persekitaran pengeluaran kami adalah barang antik Centos6. Keperluan perniagaan perlu dilaksanakan dengan memuatkan modul Nginx, tetapi versinya terlalu lama dan memerlukan Nginx1.18 atau lebih baru untuk menyokongnya, dan milik kami ialah Nginx1.12. Kemudian menaik taraf Nginx adalah perkara yang perlu kita lakukan. Tetapi dalam persekitaran pengeluaran, anda perlu mempertimbangkan banyak perkara Tidak seperti pelayan ujian, Nginx menghentikan perkhidmatan, menyusun semula versi baharu, dan kemudian memulakannya semula. Perkhidmatan dalam talian kami perlu disediakan tanpa gangguan, jika tidak, ia akan menyebabkan kerugian ekonomi kepada perniagaan Jadi adakah ada rancangan untuk menaik taraf versi Nginx dengan lancar?

2. rasmi Kami telah melakukan banyak kerja pada peningkatan lancar Nginx Prinsip asasnya adalah untuk memulakan proses Nginx (tuan+pekerja) baharu, dan kemudian menghantar arahan -USER2 ke proses induk lama, supaya yang baharu dan. versi lama proses boleh menerima permintaan pemprosesan pada masa yang sama. Selepas itu, kami menghantar -WINCH ke proses lama untuk menghentikan perkhidmatan kerja (tutup semua proses pekerja lama, tetapi proses induk lama tidak ditutup untuk mengelakkan anda daripada menghadapi masalah kemudian). Nginx baharu, kemudian Matikan proses induk lama secara manual untuk melengkapkan peningkatan yang lancar.

3 Proses operasi

1 🎜>

[root@k8s-master nginx-1.12.2]# ps aux | grep 'nginx' | grep -v '7月' | grep -v 'grep'

root     15180  0.0  0.0  46136   920 ?        Ss   17:22   0:00 nginx: master process ./nginx-1.12.2/sbin/nginx

nobody   15181  0.0  0.1  46584  4344 ?        S    17:22   0:00 nginx: worker process
Salin selepas log masuk
Proses utama pid: 15180 Proses pekerja 15181

2 nginx -V Lihat parameter kompilasi versi lama nginx

[root@k8s-master nginx-1.12.2]# nginx-1.12.2/sbin/nginx.old.1.12 -V

nginx version: nginx/1.12.2

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)

built with OpenSSL 1.0.2k-fips  26 Jan 2017

TLS SNI support enabled

configure arguments: --prefix=nginx-1.12.2 --with-pcre=/root/nginx-test/pcre-8.45/ --with-http_stub_status_module --with-http_gzip_static_module --with-http_ssl_module --with-stream

[root@k8s-master nginx-1.12.2]#
Salin selepas log masuk
<🎜. >Jika membuat atau ./configure melaporkan ralat , anda boleh cuba memasang: yum install -y gcc-c++3 sandarkan program nginx binari versi lama, mv nginx nginx.old

mv nginx nginx.old
Salin selepas log masuk
.

4. Pada masa ini kami memuat turun [nginx1.20.2] Kompil semula versi baharu dan ikut parameter kompilasi versi lama (atau tambah sendiri modul kompilasi baharu)

5 nginx dan alihkannya ke laluan nginx versi lama sebelumnya untuk menulis gantinya.

./configure --prefix=/usr/local/ --with-stream  xxxx[模块列表]

make

&make install
Salin selepas log masuk

6 Hantar nginx -USR2 15180 (proses utama nginx lama) untuk penggantian pada masa ini nginx memproses 2 proses nginx baharu

Ini Apabila permintaan diuji, beban diseimbangkan kepada dua tuan ini

Apakah kaedah untuk meningkatkan kelancaran persekitaran pengeluaran Nginx?

Permintaan dibuat 2 kali, kali pertama ia dimuatkan ke master baru, dan kali kedua ia dimuatkan ke master lama .

Apakah kaedah untuk meningkatkan kelancaran persekitaran pengeluaran Nginx?7 Sahkan bahawa naik taraf berjaya, -Isyarat WINCH menghentikan induk versi lama daripada menerima permintaan baharu (pada masa ini, proses induk nginx versi lama tidak mati, tetapi hanya berhenti menerima permintaan baharu)

kill -winch 15180
Salin selepas log masuk

Versi lama nginx hanya mempunyai proses induk sahaja dan proses anak tidak lagi wujud.

Apakah kaedah untuk meningkatkan kelancaran persekitaran pengeluaran Nginx?Pada masa ini, jika URL diakses beberapa kali, pengimbangan beban tidak akan berlaku.

Hello world tidak muncul lagi

Apakah kaedah untuk meningkatkan kelancaran persekitaran pengeluaran Nginx?8 Ia juga sangat mudah untuk melancarkan versi, hanya hantar kill -HUP 15180 (proses induk nginx lama)

<.>

Apakah kaedah untuk meningkatkan kelancaran persekitaran pengeluaran Nginx?Pada masa ini kedua-dua versi lama dan versi baharu nginx adalah pengimbangan beban kali ini versi baru nginx telah dibunuh -QUIT.

Atas ialah kandungan terperinci Apakah kaedah untuk meningkatkan kelancaran persekitaran pengeluaran Nginx?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!