CentOS 6.8’de terminal çıkışını nasıl açarım?


0

Komutu çalıştırdığımda

service httpd restart 

hizmet yeniden başlatılıyor ancak sunucunun başarıyla yeniden başlatıldığını söyleyen hiçbir geri bildirim yok. Önceki sunucular gibi bir yanıt çıktı

shutting down OK
starting OK

Terminal çıkışını nasıl açarım? Aşağıdakileri denedim:

systemctl status httpd.service
journalctl -xn
journalctl -u httpd.service (-f)

Bunlar "komut bulunamadı." Bu komutu çalıştırdığımda:

bash -x /etc/init.d/httpd restart

Bunu anladım:

> + ulimit -n 1024
> + ulimit -n 4096
> + ulimit -n 8192
> + ulimit -n 16384
> + ARGV=restart
> + HTTPD=/usr/local/apache/bin/httpd
> + test -f /usr/local/apache/bin/envvars
> + . /usr/local/apache/bin/envvars
> ++ test x '!=' x
> ++ LD_LIBRARY_PATH=/usr/local/apache/lib
> ++ export LD_LIBRARY_PATH
> + LYNX='lynx -dump'
> ++ grep apache_port= /var/cpanel/cpanel.config
> ++ sed -e 's/.*=\([.0-9]*:\)\{0,1\}//;' -e 's/[^0-9]*//g'
> + PORT=80
> + STATUSURL=http://localhost:80/whm-server-status
> ++ ulimit -H -n
> + ULIMIT_MAX_FILES='ulimit -S -n 16384'
> + '[' 'xulimit -S -n 16384' '!=' x ']'
> + ulimit -S -n 16384
> + ERROR=0
> + '[' xrestart = x ']'
> + case $ARGV in
> + /usr/local/apache/bin/httpd -k restart -DSSL
> + ERROR=0
> + exit 0

İşte httpd betiği:

ulimit -n 1024
uulimit -n 4096
ulimit -n 8192
ulimit -n 16384
ARGV="$@"
HTTPD=/usr/local/apache/bin/httpd
if test -f /usr/local/apache/bin/envvars; then
  . /usr/local/apache/bin/envvars
fi
LYNX="lynx -dump"
PORT="$(grep 'apache_port=' /var/cpanel/cpanel.config 2>/dev/null | sed -e 's/.*=\([.0-9]*:\)\{0,1\}//;' -e 's/[^0-9]*//g' 2>/dev/null)"
STATUSURL=http://localhost:${PORT:-80}/whm-server-status
ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"
if [ "x$ULIMIT_MAX_FILES" != "x" ] ; then
    $ULIMIT_MAX_FILES
fi
ERROR=0
if [ "x$ARGV" = "x" ] ; then
    ARGV="-h"
fi
case $ARGV in
start|stop|restart|graceful|graceful-stop)
    $HTTPD -k $ARGV DSSL
    ERROR=$?
    ;;
startssl|sslstart|start-SSL)
    # echo The startssl option is no longer supported.
    $HTTPD -k start DSSL
    ERROR=$?
    ;;
configtest)
    $HTTPD t
    ERROR=$?
    ;;
status)
    $LYNX $STATUSURL | awk ' /process$/ { print; exit } { print } '
    ;;
fullstatus)
    $LYNX $STATUSURL
    ;;
*)
    $HTTPD $ARGV
    ERROR=$?
esac
exit $ERROR

Hayır, bu benim sorunum değil. Komut çalışıyor ve Apache yeniden başlatılıyor. Sadece onay alamıyorum.
user1780242 1

Yanıtlar:


1

CentOS 6 önceden systemd ; Çalıştırdığınız komutlar CentOS 7 veya Debian Jessie veya sistem tabanlı hizmetler için olacaktır.

CentOS 6 için servicekomut kullanılmalıdır:

% sudo service httpd status
httpd (pid  2164) is running...

% ps -p 2164
  PID TTY          TIME CMD
 2164 ?        00:00:06 httpd

Servis komutu, başlangıçta girip sunucudan yanıt alamadığım şeydi. "Service httpd restart" yazdım ancak cevap alamadım. Sorumu açıklığa kavuşturacağım.
user1780242

0

service httpd restartaslında /etc/init.d/httpd restart komutunu çalıştırır. A bash -x /etc/init.d/httpd restartkomut dosyasını hata ayıklama modunda çalıştırır. Hata ayıklama modunu kullanarak, komut dosyasındaki yankı ifadelerinin gerçekten çıktı oluşturup oluşturmadığını belirleyebilirsiniz? Ayrıca, bir noktada, işlev successçağrılır. Bu işlev /etc/rc.d/init.d/functions dosyasında bildirilmiştir ve atıfta bulunduğunuz parantezlerin arasında yeşil renkli OK metni oluşturur.

Bir yandan, /etc/init.d içindeki diğer scriptler çıktı üretir mi? Veya sadece httpd?


Önerdiğiniz bash komutunun sonuçları için yukarıya bakın - yorum yapmak için çok uzun. Hangi yankı ifadelerinden bahsediyorsunuz? Başka bir senaryo denemedim.
user1780242

Bu hisse senedi CentOS httpd init betiği değildir. Herhangi bir yankı ifadesi içermiyor, bu yüzden çıktı almamanıza şaşırmadım. CPanel'in kurulu olduğu veya Apache init betiğine müdahale eden başka bir yazılımın olması mümkün mü? Lütfen rpm -qa | grep httpdhangi Apache sürümünü çalıştırdığınızı görmemize izin vermek için a komutunu çalıştırın.
Edward

Httpd.conf dosyasında değiştirebileceğim ya da yankı ifadelerini uyaracak bir şey var mı?
user1780242

Hayır, httpd.conf yalnızca Apache'yi yapılandırır ve init betiğini kontrol etmez. /etc/init.d/httpdYine de komut dosyasına yankı ifadeleri ekleyebilirsiniz . Lütfen /etc/init.d/httpdbetiğinizi gönderin; yankı ifadelerini nereye ekleyeceğinizi size bildireyim.
Edward

Httpd betiğini orijinal gönderiye ekledim.
user1780242
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.