|
Dalam beberapa hari terakhir, ada banyak masalah dengan Nginx 502 di web, dan saya pikir itu adalah masalah dengan Nginx seperti banyak orang pada awalnya.
Web menggunakan arsitektur nginx+php, dan situs web sudah lama tidak online, jadi pengoptimalannya pada dasarnya hanyalah beberapa konfigurasi awal.
Memeriksa php-fpm.log menemukan peringatan, yang pada dasarnya bertepatan dengan saat situs web ditangguhkan. Saya akan mulai di sini.
Saya juga mencari beberapa dokumentasi pada awalnya, tetapi masih ada masalah keesokan harinya. Kemudian, saya memeriksa file konfigurasi dan menerjemahkannya (Baidu), dan fondasi bahasa Inggris tidak bagus. Modul PM mirip dengan modul Apache, yang statis dan dinamis.
Banyak penyesuaian yang disebutkan di Internet sebagian besar didasarkan pada dinamika, tetapi mereka tidak mengatakan bagaimana mendefinisikan modul ini. Jadi setiap orang harus melihat lebih dekat pada file konfigurasi saat menggunakan dinamis dan statis pm = statis
; Jumlah proses turunan yang akan dibuat saat pm diatur ke 'statis' dan
; Jumlah maksimum proses turunan saat PM diatur ke 'dinamis' atau 'sesuai permintaan'.
; Nilai ini menetapkan batas jumlah permintaan simultan yang akan
; disajikan. Setara dengan direktif ApacheMaxClients dengan mpm_prefork.
; Setara dengan variabel lingkungan PHP_FCGI_CHILDREN di PHP asli
; CGI. Default di bawah ini didasarkan pada server tanpa banyak sumber daya. Jangan
; Lupa untuk mengubah PM.* agar sesuai dengan kebutuhan Anda.
; Catatan: Digunakan saat pm diatur ke 'statis', 'dinamis', atau 'sesuai permintaan'
; Catatan: Nilai ini wajib.
pm.max_anak = 300
; Jumlah proses turunan yang dibuat saat startup.
; Catatan: Hanya digunakan saat pm diatur ke 'dinamis'
; Nilai Default: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
;p m.start_server = 50
; Jumlah minimum proses server idle yang diinginkan.
; Catatan: Hanya digunakan saat pm diatur ke 'dinamis'
; Catatan: Wajib saat pm diatur ke 'dinamis'
;p m.min_spare_server = 20
; Jumlah maksimum proses server menganggur yang diinginkan.
; Catatan: Hanya digunakan saat pm diatur ke 'dinamis'
; Catatan: Wajib saat pm diatur ke 'dinamis'
;pm.max_spare_server = 500
; Jumlah detik setelah proses idle akan dimatikan.
; Catatan: Hanya digunakan saat pm disetel ke 'sesuai permintaan'
; Nilai Default: 10 detik
pm.process_idle_timeout = 10 detik;
; Jumlah permintaan yang harus dijalankan setiap proses turunan sebelum respawn.
; Ini dapat berguna untuk mengatasi kebocoran memori di perpustakaan pihak ke-3. Untuk
; Pemrosesan permintaan tanpa akhir tentukan '0'. Setara dengan PHP_FCGI_MAX_REQUESTS.
; Nilai Default: 0
pm.max_permintaan = 10240
Bidang merah adalah cara untuk mendefinisikannya, dan kemudian mengatur parameter sesuai dengan situasi server
Jika Anda menggunakan parameter statis pm.max_children, itu akan berfungsi, sisanya tidak. Dinamikanya adalah sebaliknya.
Memori 2G pm.max_children dihidupkan sekitar 50, yang diperlukan untuk menyesuaikan sesuai dengan situasi aktual.
Jika ada kekurangan, saya ingin Anda memberikan pendapat Anda, 502 solusi.
|