PHP-FPM tidak secara otomatis memulai setelah reboot

15

Saya menjalankan PHP-FPM dan Nginx, kadang-kadang, untuk alasan apa pun, saya harus me-reboot server. Setelah server berjalan lagi, layanan nginx secara otomatis dimulai, namun PHP-FPM tidak. Ini bisa dilihat ketika saya menjalankan perintah sudo /etc/init.d/php-fpm restartsegera setelah reboot dan mendapatkan hasilnya:

$ sudo /etc/init.d/php-fpm restart
Stopping php-fpm:                                          [FAILED]
Starting php-fpm:                                          [  OK  ]

Apakah ini perilaku yang diharapkan? Apa cara terbaik untuk membuat PHP-FPM mulai secara otomatis? Apakah ada opsi konfigurasi di mana saja, atau apakah saya harus menambahkan perintah ke salah satu skrip startup Linux?

Terima kasih.

SteveEdson
sumber
Distribusi linux mana yang Anda gunakan? Bagaimana Anda menginstal php-fpm? Dari paket atau dari sumber?
Tonin
Ini berjalan pada contoh Amazon EC2 Linux, PHP-FPM diinstal menggunakanyum install -y php-fpm
SteveEdson

Jawaban:

27

Jadi atur untuk mulai saat boot:

chkconfig php-fpm on
Michael Hampton
sumber
1
Sesederhana itu, brilian! Cheers
SteveEdson
4

Saya baru saja mengalami masalah ini pada Ubuntu 16.04 dan saya meninggalkan jawaban saya di sini untuk pengguna masa depan dari Google yang menemukan masalah. Karena chkconfigsebagian besar khusus untuk CentOS, itu jelas tidak ada di Ubuntu. Rupanya, untuk mendapatkan PHP yang dibuat khusus ( php-fpmSAPI) untuk mulai saat boot di bawah systemd, yang baru untuk Ubuntu 16.04 (sebelumnya, Upstart), perlu terdaftar dengan sistem di luar hanya memasukkan init.dskrip ke dalamnya /etc/init.d/. Untuk mendaftarkan skrip, saya berlari:

update-rc.d php-fpm defaults

A rebootdan selanjutnya ps auxmengkonfirmasi bahwa php-fpmmemang mulai saat boot. Itu juga ditambahkan ke /etc/init.d/.depend.start.

Pikiran lain: Ubuntu Upstart cukup bagus sehingga saya tidak perlu menjalankan update-rc.dsetelah menempatkan skrip init.d - itu hanya berhasil. Benar-benar lupa tentang perintah itu.

CubicleSoft
sumber
2
Pertanyaan aslinya adalah tentang Amazon Linux, saya tidak bisa mengatakan berapa banyak pengguna Ubuntu yang akan melihatnya. Adapun 16.04 dan systemd, hal yang harus dilakukan adalah menggunakan unit systemd yang tepat daripada gaya lama pemula atau skrip init kuno. Anda harus dapat menemukan unit systemd yang dapat digunakan dengan paket distro, atau di tempat lain.
Michael Hampton
Saya pengguna Ubuntu 14.04 dan ini membantu saya, terima kasih! PS: sudomungkin diperlukan untuk perintah itu.
Edson Horacio Junior