"Enter"a basıp içeriğe geçin

Plesk Kullanılan Sunucularda Mail Web ve Veritabanını Ayırmak

Plesk kullanılan birçok altyapı, kurulumun kolay olması nedeniyle mail, web ve veritabanı servislerinin tamamını tek bir sunucu üzerinde çalıştıracak şekilde başlar. Web siteleri barındırılır, e-posta servisleri aktif edilir ve veritabanları aynı sistem üzerinde çalışır.

Trafik arttıkça, site sayısı çoğaldıkça veya veritabanı sorguları büyüdükçe sistemde performans kayıpları başlar.

Servisleri Ayırmak Ne Anlama Gelir?

Plesk kullanılan klasik bir sunucu yapısında genellikle şu 3 servis aynı anda çalışır.

Web tarafında Apache veya Nginx ile birlikte PHP-FPM süreçleri çalışır. Mail tarafında Postfix, Dovecot ve spam filtreleri disk ve ağ kaynaklarını kullanır.
Veritabanı tarafında ise MySQL veya MariaDB sürekli bellek ve disk erişimi yapar.

Mail, web ve veritabanı servislerini ayırmak her bir servisin kendi kaynaklarını kullandığı özel sunuculara taşınması anlamına gelir.

Web Sunucusu Nasıl Konumlandırılmalı ?

Plesk’in ana yönetim tarafı web sunucusudur. Bu sunucuda yalnızca web servisleri bulunur. Apache veya Nginx, PHP-FPM ve web dosyaları bu sistemde yer alır. Mail ve veritabanı sistemleri kapatılarak yük azaltılır.

Bu yapı sayesinde PHP süreçleri daha dengeli çalışır. Trafik dalgalanmaları mail veya veritabanı kaynaklı gecikmelere neden olmaz. Özellikle WordPress, WooCommerce veya özel uygulama barındıran sistemlerde bu fark net şekilde hissedilir.

Mail Sunucusunu Neden Ayırılmalı?

Mail servisleri tek başına çalıştığında bile ciddi kaynak tüketebilir. Spam saldırıları, toplu mail gönderimleri ve mail kuyrukları disk ve CPU kullanımını yükseltir. Bu yük web sunucusuna yansıdığında tüm sistem yavaşlar.

Mail sunucusu ayrı bir sistem olarak konumlandırıldığında bu risk ortadan kalkar. MX kayıtları mail sunucusuna yönlendirilir

Veritabanını Ayrı Sunucuya Taşımak Ne Sağlar?

Veritabanı servisleri özellikle yoğun sorgu alan sistemlerde ciddi bellek ve disk erişimi yapar. Aynı sunucuda web ve mail servisleri de çalışıyorsa, bu durum gecikmelere ve kilitlenmelere yol açabilir.

Veritabanı ayrı bir sunucuya alındığında tüm RAM ve disk kaynakları yalnızca MySQL veya MariaDB için kullanılır. Plesk üzerinden remote database server tanımlanarak bağlantı sağlanır.

Başlamadan Önce Gerekli Olanlar

Ayırma işlemi için en az 3 sunucu gerekir.

  1. Web Sunucusu (Plesk kurulu ana sunucu A)
  2. Veritabanı Sunucusu (yeni Linux sunucu B)
  3. Mail Sunucusu (yeni Linux sunucu C)

Tüm sunucularda root erişimi olmalı ve aynı ağda ya da birbirine erişebilir IP’leri olmalı

Yeni Veritabanı Sunucusu Kurma (Sunucu B)

Bu adımda, Plesk’in kurulu olduğu ana sunucudan (Sunucu A) veritabanını ayıracağız. Sunucu B’ye SSH ile bağlanalım ve MariaDB‘yi kuralım.

sudo apt update
sudo apt install mariadb-server -y

Daha sonra veritabanını dış bağlantılarımıza açalım.

Aşağıdaki dosyayı açalım.

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

İlgili satırı bulalım.

bind-address = 127.0.0.1

Satırı değiştirelim.

bind-address = 0.0.0.0

Servisi yeniden başlatalım.

sudo systemctl restart mariadb

Veritabanı Kullanıcısı Yetkilendirme

Plesk’in bağlanabilmesi için kullanıcı yetkisi vermeliyiz.

mysql -u root
CREATE USER 'pleskdb'@'SUNUCU_A_IP' IDENTIFIED BY 'GucluBirSifre';
GRANT ALL PRIVILEGES ON *.* TO 'pleskdb'@'SUNUCU_A_IP';
FLUSH PRIVILEGES;
EXIT;

Plesk’e Yeni Veritabanı Sunucusunu Tanıtma

Sunucu A üzerindeki Plesk Panel’e giriş yapalım. Tools & Settings → Database Servers → Add Database Server olarak ilerleyelim.

Açılan ekranda

  • Host: Sunucu B’nin IP adresi
  • Tür: MySQL veya MariaDB
  • Kullanıcı adı / Şifre: Sunucu B’de oluşturduğunuz veritabanı yetkili bilgileri

Bilgileri girip kaydedelim. Bu işlemden sonra Plesk, Sunucu B’yi harici bir veritabanı sunucusu olarak kullanmaya başlar.

Mevcut Veritabanını Taşıma

Plesk Panel’e girelim. İlgili siteyi açalım ve Site → Databases yolunu izleyelim.

Mevcut veritabanını Export Dump ile yedekleyelim. Yedeğin alındığından emin olalım ve ardından veritabanını silelim.

Add Database diyelim. Sunucu olarak yeni eklediğimiz veritabanı sunucusunu seçelim. İmport Dump ile aldığımız yedeği geri yükleyelim.

Web Sitesi Ayarlarını Güncelleme

Web sitesi hala Sunucu A’da durur, ancak veritabanı artık Sunucu B’dedir. Bu yüzden bağlantı adresini güncellememiz gerekir.

WordPress için wp-config.php Güncellemesi

WordPress, veritabanı bağlantı bilgilerini wp-config.php dosyasından okur. Sunucu A’da ilgili sitenin kök dizinine girelim. wp-config.php dosyasını açalım.

Aşağıdaki satırı bulalım ve güncelleyelim.

define('DB_HOST', 'SUNUCU_B_IP');

Dosyayı kaydedelim ve çıkalım.

Laravel için .env Dosyası Güncellemesi

Proje dizinine girelim. .env dosyasını açalım. Aşağıdaki satırı düzenleyelim.

DB_HOST=SUNUCU_B_IP

Kaydedelim ve çıkalım.

Mail Sunucusunu Ayırma (Sunucu C)

Veritabanı ayrıldıktan sonra sıradaki adım mail servisidir.

Yeni sunucuya bağlanalım. Bu adımla Sunucu C, SMTP ve IMAP servisleri çalışır hale gelir.

sudo apt update
sudo apt install postfix dovecot-core dovecot-imapd -y

Mail trafiğinin yeni sunucuya yönlenmesi için DNS kayıtlarını düzenleyelim.

MX Kaydı

MX 10 mail.domainadi.com

SPF Kaydı

v=spf1 ip4:MAIL_SERVER_IP -all

Artık mail Sunucu C’de çalışacağı için, web sunucusundaki mail servisini kapatalım.

Sunucu A’daki Plesk Panele girelim. Domain → Mail Settings yolunu izleyelim. Mail service on this server seçeneğini kapatalım. Sunucu A artık mail alıp göndermeyecek. Tüm mail trafiği Sunucu C’ye yönlenecek.

Sık Sorulan Sorular

Veritabanını ayırdıktan sonra site çalışmazsa neyi kontrol etmeliyim?

Web sitesinin yapılandırma dosyasını kontrol edilmeli. DB_HOST alanında localhost yerine veritabanı sunucusunun IP’si yazmalıdır. Veritabanı kullanıcı adı ve şifresi doğru olmalıdır.

Veritabanı sunucusunda hangi port açık olmalı?

Sadece 3306/TCP portu açık olmalıdır. Bu port yalnızca web sunucusunun IP adresine izin verecek şekilde firewall ile sınırlandırılmalıdır.

Mail web ve veritabanını aynı anda ayırmak gerekir mi?

Gerçek sistemlerde bu işlemler aynı anda yapılmaz. En doğru yaklaşım sırasıyla yapılandırmaktır. Genellikle önce veritabanı sonra mail servisi en son olarak da web katmanı ölçeklendirilir.

DNS ayarları mail web ve veritabanı ayrımında nasıl olmalı?

DNS tarafında yalnızca mail servisleri için değişiklik yapılır. MX kayıtları mail sunucusunu gösterecek şekilde güncellenir. SPF, DKIM ve DMARC kayıtları mail sunucusuna uygun olarak düzenlenmelidir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir