Cyberpanel Web Servis

Cyberpanel 503 Service Unavailable Hatası

Tüm web sunucular (apache, nginx, litespeed vb.) web sitelerini çalıştırdığında veya çalıştırmakta problem yaşattığında tarayıcıya bir durum veya hata kodu gönderir. Örneğin HTTP 200, tüm işlemlerin sorunsuz çalıştığını söylerken, HTTP 404 bir hata kodudur ve talep edilen sayfanın bulunamadığını söyler. HTTP 200 ile başlayan kodlar genellikle durum kodudur ve herhangi bir problem olmadığını belirtirken, 400 ile başlayanlar bir istemci hatası olduğunu, 500 ile başlayanlar ise sunucu tarafında bir problem olduğunu belirtir. Tüm http durum ve hata kodlarını bu yazımızdan inceleyebilirsiniz.

Cyberpanel 503 Hatası

Cyberpanel Web Hosting kontrol paneli üzerinde 503 hata alıyorsanız bu yazımızı inceleyebilirsiniz.

HTTP 503 hata kodu nedir?

HTTP 503 hata kodu, genel bir hatadır ve hizmet yok anlamında kullanılır. Problemin bir çok sebebi olabilir. Bundan dolayı ilk etapta problemin sebebini bulup, daha sonra çözüm yolunu aramamız gerekir.

Cyberpanel üzerinde barındırdığınız bir web sitesinde HTTP 503 hata kodu alıyorsanız, durum web sunucusu ile ilgili yani Openlitespeed ile ilintilidir. Bu yazımızda HTTP 503 Service Unavailable Hatasını inceleyeceğiz.

Openlitespeed üzerinde 503 hatası aşağıda görseldeki şekildedir.

Öncelikle hatanın tespitini yapmamız için Openlitespeed loglarına bakmamız gerekiyor. Cyberpanel üzerinde Openlitespeed logları /usr/local/lsws/logs klasöründe bulunur. Burada bulunan iki dosyayı okumamız gerekecek.

tail -f /usr/local/lsws/logs/error.log
tail -f /usr/local/lsws/logs/stderr.log

Loglarda hatayı bulup buna göre çözüm üretmemiz gerekiyor. Fakat biz olası nedenleri yazıp, buna göre çözüm üretelim.

PHP Hatası ile HTTP 503

PHP üzerinde herhangi bir problem nedeni ile 503 hatası alıyor olabilirsiniz. PHP üzerinde yapılacak işlemler;

Memory (RAM) limitini arttırmak;

PHP üzerinde memory limit değişkeni bulunmaktadır. Bu limit, her PHP betiği için ayrılan ram miktarıdır. Eğer kullandığınız PHP betikleriniz veya uygulamanız bu ram miktarını aşıyorsa HTTP 503 hatası alabilirsiniz. Değeri Cyberpanel üzerinden veya SSH üzerinden arttırabilirsiniz.

Cyberpanel memory_limit arttırmak;

Cyberpanel üzerinden memory limit değerini arttırmak için, Cyberpanel admin şifresi ile Cyberpanel konsoluna giriş yapın.

Sol tarafta bulunan menüden, önce “PHP” ardından “Edit PHP Configs” bölümüne tıklayalım. Açılan sayfada “Advanced” sekmesine girelim.

Select PHP kısmından, 503 hatası veren web hosting hizmetinde, kullandığınız PHP versiyonunu seçin. Web sitesi üzerinde kullanılan PHP versiyonunu bilmiyorsanız basit phpinfo betiği atarak veya SSH üzerinden aşağıdaki şekilde öğrenebilirsiniz.

cat /usr/local/lsws/conf/vhosts/domain.com/vhost.conf | grep php

Memory limit varsayılan olarak 128MB olarak ayarlanmıştır.

Memory limit ayarını bulup, sunucunuzun ram miktarına göre arttırım gerçekleştirin ve “Değişiklikleri Kaydet” diyerek, yaptığınız değişikliği kaydedin. Ardından SSH üzerinden “lscpd” servisini restart edin;

systemctl restart lscpd

SSH üzerinden memory_limit arttırmak;

Cyberpanel kurulu sunucunuz üzerinde php.ini dosyaları /usr/local/lsws/ dizininde, versiyona göre tutulur. PHP 7.0 kullanıyorsanız aşağıdaki yoldan php.ini dosyasına ulaşabilirsiniz.

/usr/local/lsws/lsphp70/etc/php.ini

PHP.ini dosyasını, favori editörünüz ile açın;

nano /usr/local/lsws/lsphp70/etc/php.ini

CTRL+w ile memory_limit değerini arayın.

Yine kullandığınız ram miktarına göre değişiklik yapıp, CTRL+x ile dosyayı kaydedip kapatıp, lscpd servisini yukarıdaki şekilde restart edin.

PHP max_execution_time

PHP “max_execution_time” değeri de memory limit değeri ile benzerlik gösterir. Bir php betiğinin maksimum çalışma süresini gösterir. Yukarıda memory limit arttırmada da anlatıldığı şekilde “max_execution_time” değerini de arttırabilirsiniz.

/tmp dizinininde yer kalmaması

Bazı web uygulamaları, geçici dosyaları (temporary file) saklamak için /tmp dizinini kullanır. Eğer /tmp dizininde yer kalmazsa, oturum (session) oluşturamadığı için HTTP 503 hatası döndürebilir. O yüzden /tmp dizinizin doluluk oranını kontrol etmekte fayda var.

df -h

Eğer doluluk oranı %100 seviyesinde ise, /tmp dizinizi boşaltmanız gerekecektir.

PHP OPCode Caching devre dışı bırakma

Cyberpanel kurulumunda OpCode cache varsayılan olarak aktif şekilde gelir. Bazı durumda OpCode lsphp süreçleri ile çakışabilir. Opcode devre dışı bırakmak probleme çözüm olabilir. Hata veren web sitesinin PHP versiyonunu yukarıdaki şekilde öğrenin ve SSH üzerinden aşağıdaki işlemleri uygulayın;

cd /usr/local/lsws/lsphp72/etc/php.d
mv 10-opcache.ini 10-opcache.ini.yedek
systemctl restart lsws

Too many open files error hatası

Bu hatayı log çıktılarında error_log dosyasında veya stderr.log dosyasında görebilirsiniz. Cyberpanel varsayılan olarak “fs.nr_open” değerini bir milyon olarak verse de bu ayar sıkıntı çıkartabiliyor.

Önemli : Ne yaptığınızı bilmiyorsanız, bu ayarları yapılandırmayınız.

SSH üzerinden root ile sunucunuza giriş yapın.

systemctl edit --full lsws.service

ve ekleyin;

LimitNOFILE=5000000

Ardından daemon servisini ve openlitespeed’i restart edin;

systemctl daemon-reload && systemctl restart lsws

Açık dosya sayısını kontrol etme;

Openlitespeed nobody kullanıcısı üzerinden çalışmaktadır. nobody kullacısının açık olan dosya sayısını öğrenmek için;

 /usr/sbin/lsof -u nobody | wc -l

root kullanıcısının toplam dosya sayısını kontol etme;

 /usr/sbin/lsof -u root| wc -l

Eğer dosya sayıları yüksekse, /etc/sysctl.conf ve /etc/security/limits.conf dosyalarında, kullanılan sayılara göre düzenleme yapmak gerekmektedir.

Failed to open the real time report hatası

Openlitespeed gerçek zamanlı raporlama bilgilerini /tmp/lshttpd/ dizinine yazar. Eğer bir şekilde dizinin sahipliği değiştiyse bu hatayı log çıktılarınızda görebilirsiniz. Dizinin sahiplik bilgileri kullanıcı ve grubu “nobody” olmalıdır. Değilse aşağıdaki şekilde değiştirebilirsiniz;

chown -R nobody:nobody /tmp/lshttpd

Sonuç:

HTTP 503 hatası, yukarıda değindiğimiz gibi genel bir hatadır. Olası sebepleri yukarıdaki şekildedir fakat daha farklı hatalardan da meydana gelip, çözümleri farklıca olabilir. HTTP 503 hatası alıyorsanız, analinizi iyi yapmalı ona göre çözüm bulmalısınız.