Apache'yi nasıl yeniden başlatırsınız?


249

SLES’ten Ubuntu’ya geçtim ve şimdi yerel sunucumu yeniden başlatmak istiyorum. SLES'te kullandım:

rcapache2 restart

ama bu bir şekilde Ubuntu'da çalışmıyor gibi görünüyor. :(

Apache'mi nasıl yeniden başlatırım?

Yanıtlar:


364

sudo service apache2 restart Red Hat'tan ödünç alınan yol için.


1
Bence serviceLSB yolu ve çoğu dağıtımda çalışmalı, şimdi Debian ve Ubuntu sonunda anladı.
Marius Gedminas

10
sudo restart apache2çalışmıyor Ubuntu 12.04. Diğer Ubuntu sürümlerinden emin değil.
saji89

2
@ saji89 yapmanız gereken sudo service apache2 restart, o zaman işe yarayacak.
Kevdog777

9
sudo restart apache2Ubuntu 14.04’de çalışmıyor. sudo service apache2 restartsıkı çalışıyor.
toesslab

105

Apache'yi yeniden başlatmak mı istiyorsunuz veya yapılandırmasını dikkatlice yeniden yüklemek mi istiyorsunuz ?

Herkes ilk soruyu cevaplıyordu; ile ikinci yapabilirsiniz

sudo service apache2 reload

Zarif bir şekilde yeniden yükleme biraz daha hızlıdır ve aksama süresi yoktur.

Bir uyarı var: apache yapılandırma dosyalarınız bir hata içeriyorsa (örneğin, mevcut olmayan bir dizindeki bir günlük dosyasını yapılandırırsa), sunucu konsola herhangi bir hata mesajı yazdırmadan sessizce çıkabilir. Çoğu diğer hatalar tarafından yakalanır apache2ctl configtesto service apache2 reloadile fiili reload yapmadan önce çalışır apache2ctl graceful.


1
Evet! Web site görüntüleyicilerinizi başlatmadan yeniden başlatmak istiyorsanız zarif kullanın.
33'te tommed

Apache çalışmıyorsa başlayacağının yeniden başlatmanın bir avantajı olduğunu biliyorum . -> Yeniden yükleme de başlayacak mı?
Torben Gundtofte-Bruun

Sanmıyorum - daha da kötüsü, config dosyasında bir sözdizimi hatası yaparsanız yeniden yükleme çalışan bir apache'yi durduracaktır.
Marius Gedminas

3
sudo apache2ctl configtestZarif yeniden başlatmadan önce daima çalıştırın . Konfigürasyonun sözdizimi hatası varsa, zarif yeniden başlatma başarısız olur ve apache durdurulur.
Mikko Rantalainen

@MikkoRantalainen: teşekkürler, ben çiğ düşmesi cevabı kaydetmiştiniz apache2ctl gracefulsadece tavsiye ve bunun yerine service apache2 reloadçalıştığı, configtestdaha önce graceful.
Marius Gedminas

26

Hizmetlerini başlatmak / durdurmak için Ubuntu altında önerilen yolu (sadece Apache) (gerçekten simgesel bağlardır komutları / başlatmak / durdurmak yeniden etmektir initctl programının bir parçası sonradan görme ).

Eski /etc/init.dkomut dosyalarını kullanan hizmetler için , ilgili komut dosyası doğru parametrelerle çağrılır; starttart altyapısını kullanan servisler için uygun olay geçişi, initctl aracılığıyla start- up daemon'a gönderilecektir .

Böylece, Ubuntu'da apache'yi başlatmak / durdurmak / yeniden yüklemek / yeniden başlatmak için aşağıdakileri kullanabilirsiniz:

sudo start apache2
sudo stop apache2
sudo reload apache2
sudo restart apache2

20
sudo /etc/init.d/apache2 restart

Tabii ki takas olabilir restartiçin stop, start(Sanırım) vereload


2
Bunu en son Ubuntu altında yaparken, istediğiniz komutu yerine getirmesine rağmen, yeni yöntemle ilgili bir mesaj alırsınız.
jfmessier

Apache'nin henüz Upstart'a taşındığını fark etmedim.
Oli

Bu mesajı artık göremiyorum.
Tim


11

Marius'un dediği gibi zarafet yeniden başlamak için kullanılmalı:

sudo apache2ctl graceful

veya

sudo apache2ctl graceful-stop

incelikle Apache durdurmak için.

Bu komutlar, web sunucusunu yeniden başlatmadan / durdurmadan önce, web sitelerinin tüm isteklerinin yerine getirilmesini sağlar, böylece kullanıcılarınızın yarım web sayfasını almazsınız.


4

Önce bu komutu kullanarak durumunuzu kontrol edin

sudo service apache2 status

sonra çalışan servisi durdur

sudo service apache2 stop

sonra bu komutu kullanın:

sudo /opt/lampp/lampp start

bu çözüm benim için çalıştı.


2

Apache 2.4 sürümünü sisteminize yüklüyorsanız, Apache sunucunuzu yerel sisteminizde yeniden başlatmak veya durdurmak için aşağıdaki komutu çalıştırmalısınız.

./apachectl start

ya kullanabilirsiniz yeniden başlatma , durdurma şartının gibi de. bu test edilmiş kod


1

Apache'yi yeniden başlatmak için servisleri kullanabilirsiniz.

service apache2 restart

ve bunun için tüm işlevleri kullanabilirsiniz (Durdur - Başlat - Yeniden Yükle)



0
sudo systemctl restart apache2

systemctl - Sistemi ve servis yöneticisini kontrol eder.

systemctl, "systemd" sisteminin ve servis yöneticisinin durumunu denetlemek ve kontrol etmek için kullanılabilir.


-1

Eğer root iseniz: (Ubuntu'da root devre dışı, sanırım 'sudo' komutunu kullanmak!)

$ /etc/init.d/apache stop
$ /etc/init.d/apache start
$ /etc/init.d/apache restart
$ /etc/init.d/apache reload 

(A2ensite veya a2dissite kullandıysanız, apache yapılandırmanızı yeniden yüklemeniz gerekir)


rootdevre dışı bırakılmadıysa, kendiniz vermezseniz, yalnızca bir şifresi yoktur.
Mikael Auno

1
olan //stop apachebir açıklama olması gerekiyordu? eğer öyleyse, standart kabuk notasyonu olur #stop apache, //
bash'te

@MikaelAuno root hesabı şifreli değilse devre dışı bırakılır
T0xicCode

1
@ xav0989 Oldukça tanım meselesi. Doğrudan olarak giriş yapamayacağınızdan rootveya bu konuda şifre rootgerektirecek herhangi bir şekilde giriş yapamayacağınızdan rootemin olun, ancak bunun için başka yollar da var root. Mesela sudo -itakip whoamietmeye çalışın ve gerçekten giriş yaptığını göreceksiniz root. Ayrıca, yaparsanız ps aux | grep root, sisteminizde zaten çalışan birçok işlemin olduğunu göreceksiniz root. Yani, tartışmalı olarak, rootdevre dışı değil.
Mikael Auno

@MikaelAuno veya sudo -E -s. Devre dışı bırakıldığında, kastedilenin doğrudan olarak giriş yapamayacağınız olduğunu kabul ediyorum root, ancak işlemleri yine de gerçekleştirebilirsiniz root.
T0xicCode
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.