Saya punya pertanyaan Apache di sini.
Sepanjang karier saya sebagai pengembang, saya telah memulai kembali Apache seperti ini:
sudo /etc/init.d/apache2 restart
Saya baru hari ini menggunakan aplikasi Rails pertama saya, tetapi saya mengalami kesulitan membuat Apache untuk memulai kembali pada mesin host. Ketika saya mencobanya seperti itu, Apache akan mencoba untuk me-restart, tetapi pada akhirnya akan hang.
Ini, bagaimanapun, bekerja dengan baik:
sudo apachectl restart
Apa perbedaan antara kedua teknik ini? Saya berasumsi bahwa yang terakhir, yang terbaik, "gula sintaksis" untuk yang pertama, tetapi itu tidak boleh terjadi, mengingat bahwa yang terakhir bekerja sementara yang pertama tidak.
Jika relevan (dan saya kira itu mungkin), aplikasi Rails ini menggunakan Penumpang Phusion. Pengalaman pengembangan saya sebelumnya (dimana metode sebelumnya berfungsi dengan baik) sebagian besar dengan PHP. Saya cukup baru untuk Rails.
Server yang dimaksud menjalankan Ubuntu 11.04 (Natty).
sumber
Jawaban:
Metode ini menggunakan skrip init distro Linux Anda untuk memulai kembali proses. Skrip ini dijalankan saat boot untuk memulai apache.
Metode ini menggunakan program kontrol apachectl . Dalam hampir setiap kesempatan saya akan merekomendasikan penggunaan apachectl untuk maniuplate apache daemon. Anda memiliki kontrol berbutir halus tentang bagaimana proses restart (lihat anggun vs restart), opsi validasi konfigurasi dan cara untuk mendapatkan informasi status.
Perbedaan utama antara menggunakan skrip init untuk memulai ulang apache dan apachectl adalah bahwa apachectl dirancang khusus untuk memungkinkan administrator mengontrol apache sedangkan skrip init dirancang sebagai cara umum bagi Unix untuk memulai proses setelah daeamon kernel dan init telah dimuat.
EDIT: Sayangnya, saya tidak tahu bagaimana mengatasi masalah Anda dengan Rails atau Penumpang Phusion. Coba cari melalui log Apache Anda untuk petunjuk.
sumber