Nginx'i Anlamak

EGPHP web sunucusu olarak Nginx ("engine-x" diye okunur) kullanır. Nginx yüksek performansı, kararlılığı ve düşük kaynak tüketimiyle bilinir. Apache'nin aksine Nginx .htaccess dosyalarını kullanmaz.

.htaccess yok: Nginx .htaccess dosyalarını desteklemez. Benzer işlevler Nginx yapılandırma dosyalarıyla sağlanır.

Nginx Ayarlarına Erişim

  1. EGPNL'e giriş yapın
  2. Alan Adları bölümüne gidin
  3. Alan adınıza tıklayın
  4. Nginx Yapılandırması veya Gelişmiş Ayarlar'ı seçin

Yaygın Nginx Yapılandırmaları

HTTP'yi HTTPS'e Yönlendirme

Tüm trafiği HTTPS kullanmaya zorlayın:

if ($scheme != "https") {
    return 301 https://$host$request_uri;
}

www'yi www'siz adrese yönlendirme

if ($host ~* ^www\.(.*)) {
    return 301 https://$1$request_uri;
}

www'siz adresi www'ye yönlendirme

if ($host !~* ^www\.) {
    return 301 https://www.$host$request_uri;
}

WordPress Kalıcı Bağlantıları

WordPress'in SEO dostu adresleri için gereklidir:

location / {
    try_files $uri $uri/ /index.php?$args;
}
WordPress Kullanıcıları: Bir WordPress sitesi eklediğinizde EGPNL kalıcı bağlantıları otomatik yapılandırır. Elle ayar gerekmez!

Güvenlik Başlıkları

Sitenizi korumak için güvenlik başlıkları ekleyin:

add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;

Önbellek Yapılandırması

Statik dosyalar için tarayıcı önbelleğini etkinleştirin:

location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2|woff|ttf)$ {
    expires 30d;
    add_header Cache-Control "public, immutable";
}

Gzip Sıkıştırma

Sayfaların daha hızlı açılması için gzip sıkıştırmayı etkinleştirin (genellikle varsayılan olarak açıktır):

gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
gzip_min_length 1000;

Özel Hata Sayfaları

Özel 404 ve 500 hata sayfaları belirleyin:

error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;

Erişimi Engelleme

Belirli IP Adreslerini Engelleme

deny 123.45.67.89;
deny 98.76.54.0/24;

Belirli Dosyaları Engelleme

location ~ /\.(htaccess|htpasswd|git|svn) {
    deny all;
}

Bir Dizini Parolayla Koruma

location /admin {
    auth_basic "Restricted";
    auth_basic_user_file /path/to/.htpasswd;
}

URL Yeniden Yazma

Yönlendirme yapmadan adresleri yeniden yazın:

# Rewrite old URL to new URL internally
rewrite ^/old-page$ /new-page last;

# Redirect old URL to new URL (301)
rewrite ^/old-url$ /new-url permanent;

PHP Yapılandırması

Alan adınız için PHP ayarlarını düzenleyin:

location ~ \.php$ {
    fastcgi_param PHP_VALUE "
        upload_max_filesize=64M
        post_max_size=64M
        max_execution_time=300
    ";
}
Dikkatli Olun: Hatalı Nginx yapılandırması sitenizi erişilemez hale getirebilir. Değişiklik yapmadan önce mevcut yapılandırmanızı mutlaka yedekleyin.

Yapılandırmayı Test Etme

Değişiklikleri yaptıktan sonra:

  1. EGPNL yapılandırmanızı otomatik olarak doğrular
  2. Hata varsa bir uyarı mesajı görürsünüz
  3. Kaydetmeden önce hataları düzeltin
  4. Başarılı kayıttan sonra Nginx otomatik olarak yeniden yüklenir