Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X
X

Wählen Sie Ihre Währung

Türk Lirası $ US Dollar Euro
X
X

Wählen Sie Ihre Währung

Türk Lirası $ US Dollar Euro

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR
NGINX Teknik Rehberi

NGINX Service Failed: Syntax, Bind ve Port Çakışması Rehberi

NGINX’in başlamaması çoğunlukla bozuk yapılandırma, eksik include/sertifika dosyası, bilinmeyen direktif veya 80/443 port çakışmasından kaynaklanır. En güvenli yöntem servisi körlemesine restart etmek değil, nginx -t ve systemd loguyla ilk gerçek hatayı düzeltmektir.

nginx -tConfiguration Failedaddress already in useunknown directivesystemd
root@sunucu:~SSH
nginx: [emerg] unexpected "}" in /etc/nginx/conf.d/example.conf:42
nginx: configuration file /etc/nginx/nginx.conf test failed
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
İstek akışıİstemci, NGINX ve backend arasındaki kopma noktası
YapılandırmaEtkin server ve location bloklarının doğrulanması
Canlı teşhisLog, socket, port ve servis kontrolleri
Güvenli uygulamaTest, kontrollü reload ve sonuç doğrulaması
01
Teknik açıklama

NGINX neden başlamaz veya reload olamaz?

NGINX başlangıçta tüm yapılandırmayı okur, sözdizimini ve başvurulan dosyaları açılabilirlik açısından kontrol eder. Tek bir hatalı include, sertifika yolu veya port çakışması servisin başlamasını engelleyebilir.

nginx -t ilk yapılması gereken komuttur. Çıktı dosya ve satır numarası veriyorsa önce yalnız o ilk hata düzeltilmelidir; sonraki hatalar zincirleme olabilir.

Reload sırasında yeni config geçersizse çalışan eski worker’lar çoğu durumda hizmet vermeye devam eder. Buna karşılık doğrudan restart, çalışan servisi durdurup yeniden başlatamadığında kesinti yaratabilir.

Address already in use hatasında portu hangi process’in kullandığı bulunmalıdır. Apache, başka NGINX instance’ı, container proxy veya eski master process 80/443 portunu tutuyor olabilir.

Unknown directive, ilgili modülün kurulmadığını ya da direktifin yanlış bağlam/sürümde kullanıldığını gösterir. Satırı silmeden önce modül bağımlılığı doğrulanmalıdır.

Production sunucuda önce nginx -t, sonra reload kullanın; geçersiz config varken restart etmek çalışan eski yapılandırmayı da kaybetmenize yol açabilir.

02
Log mesajları ve anlamları

NGINX başlangıç, syntax ve bind hata mesajları

E-postada, tarayıcıda veya SSH günlüğünde gördüğünüz ifadeyi aratın. Her kartta anlam, muhtemel neden ve güvenli ilk işlem bulunur.

8 kayıt
01kritik

nginx: configuration file ... test failed

Anlamı: Yapılandırma testi en az bir kritik hata buldu.

Muhtemel neden: Syntax, include, dosya yolu veya yönerge hatası.

Çıktıdaki ilk [emerg] dosya ve satırını düzeltin.
02kritik

unexpected "}" or unexpected end of file

Anlamı: Blok parantezi veya noktalı virgül yapısı bozuk.

Muhtemel neden: Eksik/fazla süslü parantez veya semicolon.

Belirtilen satırın öncesindeki blokları numaralı olarak inceleyin.
03kritik

unknown directive

Anlamı: NGINX direktifi tanımıyor.

Muhtemel neden: Yazım hatası, eksik modül veya desteklenmeyen build.

nginx -V ile derleme modüllerini ve direktif adını doğrulayın.
04kritik

bind() to 0.0.0.0:80 failed (98: Address already in use)

Anlamı: Port başka process tarafından kullanılıyor.

Muhtemel neden: Apache, ikinci NGINX, container veya eski process.

ss -lntp ile port sahibini bulun.
05uyari

duplicate listen options

Anlamı: Aynı adres/port için uyumsuz veya tekrarlı listen seçenekleri var.

Muhtemel neden: Birden fazla include/vhost aynı listen tanımını çakıştırıyor.

nginx -T içinde ilgili portun tüm listen satırlarını bulun.
06uyari

duplicate default server

Anlamı: Aynı address:port için birden fazla default_server tanımlı.

Muhtemel neden: Kopya site config veya dağıtım paketi varsayılanı.

Tek bir default_server bırakın.
07uyari

cannot load certificate ... No such file or directory

Anlamı: SSL dosya yolu yok veya okunamıyor.

Muhtemel neden: Yenileme/deploy sonrası yanlış path veya izin.

ssl_certificate ve key dosyalarının varlık/izinlerini doğrulayın.
08uyari

open() include file failed

Anlamı: Include edilen config dosyası bulunamadı/açılamadı.

Muhtemel neden: Silinen symlink, yanlış glob veya izin.

Include desenini ve hedef dosyaları listeleyin.

Bu ifadeyle eşleşen kayıt bulunamadı.

03
Güvenli ilk inceleme

SSH teşhis komutları ve hangi çıktıya bakılmalı?

Komutlar root erişimi içindir. Önce yalnızca durum ve log toplayın; nedeni görmeden kalıcı ayar değiştirmeyin.

Sözdizimi testi
nginx -t

İlk gerçek dosya ve satır hatasını gösterir.

Tüm etkin yapılandırma
nginx -T > /tmp/nginx-tam.conf 2>&1
less /tmp/nginx-tam.conf

Include edilmiş birleşik config’i görüntüler.

Servis ve journal
systemctl status nginx -l --no-pager
journalctl -u nginx -n 150 --no-pager

systemd başlangıç ve restart hatalarını gösterir.

Port sahibini bulma
ss -lntp '( sport = :80 or sport = :443 )'
lsof -nP -iTCP:80 -sTCP:LISTEN 2>/dev/null

80/443 portlarını kullanan processleri belirler.

Derleme ve modüller
nginx -V 2>&1

Sürüm, compile flags ve dinamik modül desteğini gösterir.

Güvenli reload
nginx -t && systemctl reload nginx

Yalnız başarılı config’i kesintisiz uygular.

04
Barındırma ortamına göre

Ubuntu/Debian, AlmaLinux/CloudLinux ve Plesk kontrolleri

NGINX hatasının temel nedeni aynı olsa da paket yolları, servis adları, güvenlik katmanları ve sanal host yönetimi kullanılan Linux dağıtımına veya Plesk altyapısına göre değişir.

Ubuntu / Debian

NGINX Başlamıyor için systemd, paket yolu ve journald kontrolleri.

  • Önce etkin NGINX yapılandırmasını ve servis durumunu doğrulayın.
  • Domain error logu ile systemd günlüğünü aynı zaman aralığında karşılaştırın.
  • Değişiklikten önce nginx -t, ardından kesintisiz reload uygulayın.
nginx -t systemctl status nginx -l --no-pager journalctl -u nginx -n 100 --no-pager ss -lntp | grep -E ':80 |:443 '

AlmaLinux / CloudLinux

NGINX Başlamıyor için SELinux, PHP-FPM pool ve RHEL tabanlı servis kontrolleri.

  • NGINX ve ilgili backend servislerinin aktif durumunu kontrol edin.
  • SELinux AVC kayıtlarını ve güvenlik katmanlarını gözden geçirin.
  • Konfigürasyon testi geçmeden servisi yeniden başlatmayın.
nginx -t systemctl status nginx -l --no-pager journalctl -u nginx -n 100 --no-pager ss -lntp | grep -E ':80 |:443 '

Plesk Obsidian

Plesk tarafından üretilen NGINX sanal host dosyalarında nginx başlamıyor kontrolü.

  • Domains > Apache & nginx Settings bölümündeki ek direktifleri inceleyin.
  • Elle oluşturulan ve Plesk tarafından üretilen dosyaları birbirinden ayırın.
  • Gerekirse yalnız ilgili domain için web yapılandırmasını yeniden oluşturun.
nginx -t plesk repair web -n systemctl status nginx sw-cp-server --no-pager
05
Güvenli çözüm sırası

NGINX başlamıyor hatası güvenli çözüm sırası

Çalışan servisi koruyarak önce test hatasını, sonra port/dosya/modül bağımlılığını düzeltin.

1

Servis durumunu ve son değişikliği kaydedin

Hata upgrade, sertifika, yeni vhost veya manuel düzenleme sonrası mı başladı belirleyin.

systemctl status nginx -l --no-pager
2

nginx -t ile ilk hatayı bulun

Yalnız ilk [emerg] mesajındaki dosya ve satıra odaklanın.

nginx -t
3

Etkin birleşik config’i inceleyin

Kopya include ve farklı dosyadan gelen listen/rewrite satırlarını bulun.

nginx -T > /tmp/nginx-tam.conf 2>&1
4

Port ve dosya bağımlılıklarını doğrulayın

80/443 sahibi, SSL dosyaları ve include hedeflerini kontrol edin.

ss -lntp | grep -E ':80 |:443 '; find /etc/nginx -xtype l -ls
5

En küçük düzeltmeyi uygulayın

Dosyayı yedekleyip yalnız hatalı satır/blok üzerinde değişiklik yapın.

cp -a /etc/nginx/conf.d/example.conf /root/example.conf.yedek
6

Test sonrası reload ve izleme

Config başarılıysa reload edin; journal ve HTTP yanıtını izleyin.

nginx -t && systemctl reload nginx systemctl is-active nginx
06
Belirtiye göre ayrım

Özel senaryolar ve karar ağacı

Yeni config sonrası syntax hatası

Satır numarasından önceki blok ve noktalı virgüller kontrol edilir.

nl -ba /etc/nginx/conf.d/example.conf | sed -n '30,50p'
Port 80 already in use

Apache, container proxy veya ikinci instance portu tutuyor olabilir.

ss -lntp '( sport = :80 )'
Sertifika yenileme sonrası başlamıyor

Fullchain/key path, izin ve eşleşme kontrol edilir.

nginx -t; ls -l /etc/letsencrypt/live/example.com/
Unknown directive

Gerekli modül build içinde yok veya dinamik modül yüklenmemiş olabilir.

nginx -V 2>&1; grep -R 'load_module' /etc/nginx
Duplicate default server

Kopya enabled site veya iki include aynı dosyayı yükleyebilir.

nginx -T | grep -n 'default_server'
Plesk config generation sonrası hata

Elle ek direktif ve template uyumluluğu kontrol edilip repair dry-run yapılır.

plesk repair web -n; nginx -t

Kesinlikle yapmayın

  • nginx -t başarısızken restart komutu çalıştırmayın.
  • Port çakışmasında rastgele process kill -9 uygulamayın.
  • Unknown directive satırını işlevini anlamadan silmeyin.
  • SSL private key izinlerini world-readable yapmayın.
  • Plesk tarafından üretilen config dosyalarını kalıcı elle düzenlemeyin.

Çözüm sonrası doğrulama

  • nginx -t başarılıdır.
  • systemctl is-active nginx active döndürmektedir.
  • 80 ve 443 portlarını beklenen process dinlemektedir.
  • HTTP/HTTPS testleri doğru vhost ve sertifikayı göstermektedir.
  • Journal’da yeni emerg veya restart loop kaydı yoktur.
07
Resmî teknik kaynaklar

NGINX ve ilgili bileşenlerin resmî dokümantasyonu

08
İç SEO içerik kümesi

İlgili NGINX hata çözümleri

09
Sık sorulan sorular

NGINX Başlamıyor hakkında merak edilenler

NGINX configuration test failed nasıl çözülür?

nginx -t çıktısındaki ilk emerg mesajının dosya ve satırını düzeltin; ardından test başarılı olmadan restart yapmayın.

NGINX address already in use ne demek?

Dinlemek istediği portu başka process kullanıyor demektir. ss veya lsof ile port sahibi bulunmalıdır.

Reload ile restart farkı nedir?

Reload yeni config’i test edip worker’ları kontrollü yeniler; restart servisi tamamen durdurup başlatır ve hata varsa kesinti riski taşır.

Unknown directive neden çıkar?

Direktif yanlış yazılmış, yanlış bağlamda, eski sürümde veya gerekli modül olmadan kullanılmış olabilir.

Duplicate listen options zararlı mı?

Uyumsuz listen seçenekleri config testini veya vhost davranışını bozabilir; aynı adres/port tanımları birleştirilmelidir.

Sertifika dosyası eksikse NGINX başlamaz mı?

Evet. ssl_certificate veya key dosyası açılamazsa ilgili SSL server bloğu config testini başarısız kılabilir.

Plesk’te NGINX config nasıl güvenli onarılır?

Önce nginx -t ve plesk repair web -n ile dry-run yapılmalı; sonra yalnız gerekli domain veya tüm web config kontrollü onarılmalıdır.

EKA YAZILIM VE BİLİŞİM SİSTEMLERİ

Sunucunuzdaki hatayı kalıcı olarak çözelim

cPanel, WHM, CloudLinux, LiteSpeed, MariaDB, Exim ve güvenlik katmanlarını birlikte analiz ederek yalnızca servisi kaldırmak yerine arızanın temel nedenini gideriyoruz.

Sunucu Desteği Al WhatsApp
Top