Rumah pembangunan bahagian belakang masalah PHP Apa yang perlu dilakukan jika php-cgi berhenti di bawah Linux

Apa yang perlu dilakukan jika php-cgi berhenti di bawah Linux

Sep 26, 2021 pm 04:32 PM
linux php-cgi

Penyelesaian untuk menghentikan php-cgi di bawah Linux ialah: tukar item konfigurasi nginx, kurangkan bilangan permintaan FastCGI, dan cuba pastikan penimbal tidak berubah, seperti [fastcgi_buffer_size 128k;].

Apa yang perlu dilakukan jika php-cgi berhenti di bawah Linux

Persekitaran pengendalian artikel ini: linux 5.9.8, php 7, komputer thinkpad t480.

Kata Pengantar:

Saya secara tidak sengaja mendapati bahawa pelayan dalam pengeluaran (centos 5.2 64-bit memori 4G) sentiasa menghadapi masalah bahawa tapak web tidak dapat dibuka. Kemudian, saya pergi ke pelayan untuk menyemak dan mendapati bahawa kedua-dua nginx dan php-cgi sedang berjalan, tetapi penggunaan cpu php-cgi ialah 0 pada masa ini. Jadi saya segera menyemak had pemegang fail:

ulimit -n
Salin selepas log masuk

Hasilnya ialah: 1024, yang terlalu kecil untuk perkhidmatan dalam pengeluaran.

Kebanyakan penyelesaian yang diberikan dalam talian adalah dengan memasukkan terus

ulimit -SHn 51200 # 51200可自己根据应用调整
Salin selepas log masuk

Kelemahan kaedah ini jelas apabila anda log keluar, tetapan akan menjadi tidak sah.

Dikatakan juga bahawa anda boleh menulis arahan terus ke /etc/rc.d/rc.local Hari ini saya menemui cara yang betul untuk melakukannya /limits.conf. Terdapat ulasan yang sangat terperinci Cari tetapan berikut (masukkan jika tidak tersedia)

Kod adalah seperti berikut

Log masuk semula selepas keluar dan semak nombor. daripada pemegang Ia telah ditetapkan dengan betul kepada 51200.
* soft nofile 51200
* hard nofile 51200
Salin selepas log masuk

Jika anda menghadapi situasi yang sama, anda boleh menyemak sama ada bilangan pemegang fail ditetapkan terlalu kecil.

Penyelesaian kepada 502 Bad Gateway apabila mengakses

Nginx 502 Bad Gateway bermakna php-cgi yang diminta telah dilaksanakan, tetapi atas sebab tertentu (biasanya masalah dengan sumber bacaan) Pelaksanaannya tidak selesai dan proses php-cgi ditamatkan. Secara amnya, tapak web dengan konkurensi yang terlalu tinggi terdedah kepada ralat ini. Terdapat banyak sebab mengapa 502 Bad Gateway muncul, tetapi kebanyakan orang boleh menyelesaikannya dengan mengubah suai parameter di bawah.

Tukar beberapa item konfigurasi nginx untuk mengurangkan bilangan permintaan FastCGI dan cuba pastikan penimbal tidak berubah:

Kod adalah seperti berikut

Buka /usr /local/php /etc/php-fpm.conf fail, ubah suai parameter berikut:
fastcgi_buffer_size 128k;
fastcgi_buffers 2 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
Salin selepas log masuk

Kod adalah seperti berikut

request_terminate_timeout merujuk kepada masa skrip pelaksanaan fast-cgi , yang lalai kepada 0s. Maksud 0s ialah membiarkan php-cgi terus dilaksanakan tanpa had masa. Jika anda menetapkannya kepada 0s di sini, maka apabila 502 Bad Gateway muncul, status 502 akan diteruskan dan tidak akan berubah. Tetapi jika anda menetapkannya kepada 5s, maka php-cgi akan pulih secara automatik selepas 5s. Nilai ini boleh ditetapkan mengikut prestasi pelayan anda Di sini saya menetapkannya kepada 60s.
25
requests">2048
65535
30s
60s
Salin selepas log masuk

max_children mewakili proses pemprosesan php-cgi. Jika max_children ditetapkan kepada nilai yang lebih kecil, seperti 5-10, maka php-cgi akan menjadi "sangat letih", kelajuan pemprosesan akan menjadi sangat perlahan, dan masa menunggu akan menjadi lebih lama. Jika permintaan tidak diproses untuk masa yang lama, ralat 504 Gateway Time-out akan berlaku. Menetapkan max_children juga perlu ditetapkan mengikut prestasi pelayan Apabila bilangan proses meningkat, penggunaan memori akan meningkat mengikut keadaan biasa, memori yang digunakan oleh setiap php-cgi adalah kira-kira 20M 25.

Kaedah pemprosesan statik lalai php-fpm akan menyebabkan proses php-cgi menduduki memori untuk masa yang lama dan tidak boleh dikeluarkan Ini juga merupakan salah satu sebab ralat nginx, jadi anda boleh menukar kaedah pemprosesan php-fpm ke mod seperti apache.

Selepas pengubahsuaian selesai, laksanakan lu-mula semula (sistem pengurusan pelayan LuManager).

Pembelajaran yang disyorkan:

latihan php

Atas ialah kandungan terperinci Apa yang perlu dilakukan jika php-cgi berhenti di bawah Linux. 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)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
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 menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Apr 01, 2025 pm 05:09 PM

Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Mengapa ralat berlaku semasa memasang pelanjutan menggunakan PECL dalam persekitaran Docker? Bagaimana menyelesaikannya? Mengapa ralat berlaku semasa memasang pelanjutan menggunakan PECL dalam persekitaran Docker? Bagaimana menyelesaikannya? Apr 01, 2025 pm 03:06 PM

Punca dan penyelesaian untuk kesilapan Apabila menggunakan PECL untuk memasang sambungan dalam persekitaran Docker Apabila menggunakan persekitaran Docker, kami sering menemui beberapa sakit kepala ...

Bagaimana untuk mengintegrasikan perkhidmatan Node.js atau Python dengan cekap di bawah seni bina lampu? Bagaimana untuk mengintegrasikan perkhidmatan Node.js atau Python dengan cekap di bawah seni bina lampu? Apr 01, 2025 pm 02:48 PM

Ramai pemaju laman web menghadapi masalah mengintegrasikan perkhidmatan node.js atau python di bawah seni bina lampu: lampu sedia ada (Linux Apache MySQL PHP) Laman web seni bina memerlukan ...

Bagaimana untuk mengkonfigurasi tugas masa apscheduler sebagai perkhidmatan di macOS? Bagaimana untuk mengkonfigurasi tugas masa apscheduler sebagai perkhidmatan di macOS? Apr 01, 2025 pm 06:09 PM

Konfigurasikan tugas masa Apscheduler sebagai perkhidmatan di platform macOS, jika anda ingin mengkonfigurasi tugas masa Apscheduler sebagai perkhidmatan, sama dengan Ngin ...

Empat cara untuk melaksanakan multithreading dalam bahasa c Empat cara untuk melaksanakan multithreading dalam bahasa c Apr 03, 2025 pm 03:00 PM

Multithreading dalam bahasa dapat meningkatkan kecekapan program. Terdapat empat cara utama untuk melaksanakan multithreading dalam bahasa C: Buat proses bebas: Buat pelbagai proses berjalan secara bebas, setiap proses mempunyai ruang ingatan sendiri. Pseudo-Multithreading: Buat pelbagai aliran pelaksanaan dalam proses yang berkongsi ruang memori yang sama dan laksanakan secara bergantian. Perpustakaan multi-threaded: Gunakan perpustakaan berbilang threaded seperti PTHREADS untuk membuat dan mengurus benang, menyediakan fungsi operasi benang yang kaya. Coroutine: Pelaksanaan pelbagai threaded ringan yang membahagikan tugas menjadi subtask kecil dan melaksanakannya pada gilirannya.

Bolehkah penterjemah Python dipadam dalam sistem Linux? Bolehkah penterjemah Python dipadam dalam sistem Linux? Apr 02, 2025 am 07:00 AM

Mengenai masalah menghapuskan penterjemah python yang dilengkapi dengan sistem Linux, banyak pengagihan Linux akan memasang semula penterjemah python apabila dipasang, dan ia tidak menggunakan pengurus pakej ...

Cara Membuka Web.xml Cara Membuka Web.xml Apr 03, 2025 am 06:51 AM

Untuk membuka fail web.xml, anda boleh menggunakan kaedah berikut: Gunakan editor teks (seperti Notepad atau TextEdit) untuk mengedit arahan menggunakan persekitaran pembangunan bersepadu (seperti Eclipse atau NetBeans) (Windows: Notepad Web.xml; Mac/Linux: Open -A -A TextEdit Web.xml)

See all articles