GNU/Linux >> Belajar Linux >  >> Linux

Pastikan Sebuah Proses Selalu Berjalan?

Saya mulai meng-hosting situs beberapa waktu lalu menggunakan Cherokee. Untuk sumber eksternal (FastCGI, dll) ia memiliki opsi untuk meluncurkan proses jika tidak dapat menemukannya berjalan pada soket atau port yang ditunjuk. Ini bagus karena ini berarti jika PHP atau situs Django jatuh (seperti yang kadang-kadang terjadi) ia memulai ulang secara otomatis.

Di server baru menggunakan PHP-FPM saya tidak bisa menggunakan Cherokee (ada bug dengan PHP) jadi saya pindah ke NGINX. Saya sangat menyukai NGINX (untuk gaya konfigurasinya) tetapi saya mengalami masalah serius dengan proses yang gagal dan tidak pernah muncul kembali. PHP terkadang melakukan ini tetapi situs Django lebih menjadi masalah. Saya telah membuat skrip init untuk mereka dan skrip ini muncul saat boot, tetapi ini tidak membantu saya jika skrip gagal di antara reboot.

Saya kira saya sedang mencari proxy FastCGI. Sesuatu yang, seperti Cherokee, mengetahui proses apa yang harus dijalankan pada soket/port mana dan menghidupkannya kembali sesuai permintaan. Apakah hal seperti itu ada? Apakah ada cara untuk membuatnya menjadi NGINX (untuk kemudahan konfigurasi)?

Jawaban yang Diterima:

Bagaimana dengan daemontools dan khususnya alat supervisi

mengawasi monitor layanan. Itu memulai layanan dan memulai kembali layanan jika mati. Menyiapkan layanan baru itu mudah:semua kebutuhan supervisi adalah direktori dengan skrip run yang menjalankan layanan.


Linux
  1. Ubah Lingkungan Proses yang Berjalan?

  2. Dapatkan Waktu Pengguna Dan Kernel Dari Proses yang Berjalan?

  3. Periksa layanan yang berjalan di Linux

  1. Layanan MongoDB tidak berjalan di Fedora

  2. Linux:proses menjadi layanan

  3. Mulai atau mulai ulang layanan Mongo selalu gagal

  1. Periksa Proses Jika Sama Sedang Berjalan?

  2. Bunuh proses yang berjalan di port 80

  3. Variabel lingkungan dari proses yang berjalan di Unix?