Apache'yi SIGWINCH ile hizmetten çıkarken başlatma


12

Çalıştırırken service apache startgünlük dosyasında şu girişi görüyorum:

[mpm_event:notice] [pid 1906:tid XXX] AH00489: Apache/2.4.23 (Unix)
                         OpenSSL/1.0.2g PHP/7.0.9 configured -- resuming normal operations
[core:notice] [pid 1906:tid XXX] AH00094: Command line: '/usr/sbin/httpd'
[mpm_event:notice] [pid 1906:tid XXX] AH00492: caught SIGWINCH, shutting down gracefully

ve hizmet apachebaşlamıyor? İnternette SIGWINCH[ Window size change] ne anlama geldiğini bulabilirim ama bu durumda bana gerçekten yardımcı olmaz.

Dosya /etc/systemd/system/apache.service:

[Unit]
Description=The Apache Webserver [FaF Compiled]
After=network.target nss-lookup.target time-sync.target
Before=getty@tty1.service plymouth-quit.service xdm.service

[Service]
Type=notify
PrivateTmp=true
ExecStart=/usr/sbin/httpd -k start
ExecReload=/usr/sbin/httpd -k graceful
ExecStop=/usr/sbin/httpd -k graceful-stop
KillMode=mixed

[Install]
WantedBy=multi-user.target
Alias=httpd.service apache.service

SLES 12 SP1 üzerinde çalışıyor. Apache'yi kendi başıma derledim. Başlamak apachectl -k startmükemmel çalışır ve ben PHP kodu erişebilir ve çalıştırabilirsiniz.

Sorum:apache Hizmetin başlamaması için ne yapıyorum ? İle etkinleştirdim systemctl enable apache. Bu çıktı:

ln -s '/usr/lib/systemd/system/apache2.service' '/etc/systemd/system/httpd.service'
ln -s '/usr/lib/systemd/system/apache2.service' '/etc/systemd/system/apache.service'
ln -s '/usr/lib/systemd/system/apache2.service' '/etc/systemd/system/multi-user.target.wants/apache2.service'

Nasıl SIGWINCHölümcül olunur? Varsayılan eylem sinyali atmaktır.
17'de thrig

Yanıtlar:


2

systemdApache'ye durmasını graceful-stop, bir SIGWINCHsinyal üretmesini ve dolayısıyla kayıt yapmasını söyler caught SIGWINCH, shutting down gracefully. ( SIGWINCHsinyal (ab) Apache tarafından kullanılır)

IMO, yapılandırma hataları, durmasını sağlayan başka bir hata olasılığı vardır ve normal davranış olan ilgili semptomlara bakıyorsunuz.

Genellikle varsayılan olarak dizinin altındaki SLES'te Apache hata günlüklerinizi incelemenizi öneririm /var/log/apache2.


1

RedHat'ta da benzer bir sorun bildirildi . "NOTABUG" durumuyla kapatıldı. Sonunda yanlış yapılandırma olarak tanındı.

img # 1 1


img # 2 2


img # 3 3


GÜNCELLEME

Serverfault üzerinde bildirilen benzer bir sorun daha buldum . Ve bir cevap daha, aşağıdaki resimde.

img 1/1resim açıklamasını buraya girin


-DFOREGROUNDbenim durumumda yardımcı olmuyor. Apache başlıyor, ancak geri dönmüyor serviceve bu nedenle serviceşikayet ediyorapache2.service start operation timed out. Terminating.
Peter VARGA

Bağlantıdaki konuyu okudunuz mu?

1
Pes ettim. Durumu anlıyorum ama nasıl düzelteceğime dair bir fikrim yok. Ben kaldırdığınızda öğrendim ExecReload=dan /usr/lib/systemd/system/apache2.servicesonra SIGWINCHgönderilmez ama sonra Apache başlamıyor - günlüğüne hiçbir hata mesajı, hiçbir şey. Sadece başlatıldığında hemen kapanır. Şimdi apachectl -k startsistem başladığında cron işi olarak çalıştırdığım hileyi uyguladım . İle Apache'yi yeniden başlatabilirim apachectl -k restart. Daha sonra deneyeceğim; belki yeni fikirler edinebilirim.
Peter VARGA

Bir tane daha buldum, farklı. Güncellemeye bakın.

0

Tomasz'ın cevabına bağlı Red Hat hata raporuna yapılan bir yorumdan :

Görünüşe göre systemd'nin httpd'nin başarıyla başladığını tanımasını istiyorsanız 00-systemd.conf komutunu çalıştırmanız gerekir.

Bunu çalıştırdım ve işe yaradı:

ln -sr /etc/httpd/conf.modules.d/00-systemd.conf /etc/httpd/conf.d/00-systemd.conf
systemctl restart httpd

Amazon Linux 2 kullanıyorum (muhtemelen RHEL / Centos 7 üzerinde de çalışacaktır).


Kredi verdiğiniz için teşekkürler, ama… bunu nereden buldunuz?
G-Man

@ G-Man Bu cevabı bu alıntıyı doğru bir şekilde atfetmek için düzenledim.
Anthony Geoghegan
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.