Plesk kullanılan birçok altyapıda, kurulum sürecinin pratik olması sebebiyle mail, web ve veritabanı servisleri ilk aşamada tek bir sunucu üzerinde konumlandırılır. Bu yapı içinde web siteleri barındırılır, e-posta servisleri aktif hale getirilir ve veritabanları aynı sistem kaynaklarını kullanarak çalışır.
Ancak trafik hacmi yükseldikçe, barındırılan site sayısı arttıkça veya veritabanı sorguları daha yoğun hale geldikçe, sunucu üzerinde performans düşüşleri kaçınılmaz olarak ortaya çıkmaya başlar.
Servisleri Ayırmak Ne İfade Eder?
Plesk kullanılan klasik bir sunucu yapısında web, mail ve veritabanı servisleri genellikle aynı sistem üzerinde birlikte çalışır. Web tarafında Apache veya Nginx servisleri PHP-FPM süreçleriyle birlikte çalışırken, mail tarafında Postfix, Dovecot ve spam filtreleri disk ve ağ kaynaklarını aktif şekilde kullanır. Veritabanı tarafında ise MySQL veya MariaDB servisleri sürekli bellek ve disk erişimi gerçekleştirir. Mail, web ve veritabanı servislerini ayırmak, her bir servisin kendi kaynaklarını kullandığı ayrı ve özel sunuculara taşınması anlamına gelir.
Plesk’te Web Sunucusu Konumlandırma
Plesk’in ana yönetim rolünü üstlenen sunucu web sunucusu olarak konumlandırılır ve bu sistemde yalnızca web servisleri çalıştırılır. Apache veya Nginx servisleri ile birlikte PHP-FPM süreçleri ve web dosyaları bu sunucuda yer alır. Mail ve veritabanı servisleri kapatılarak sistem üzerindeki yük minimuma indirilir.
Bu yaklaşım, PHP süreçlerinin daha stabil çalışmasını sağlar. Ani trafik artışları mail ya da veritabanı servislerinden kaynaklanan gecikmelere neden olmaz. Özellikle WordPress, WooCommerce veya özel uygulamalar barındıran altyapılarda performans farkı açıkça görülür.
Mail Servisini Ayırmak Neden Gereklidir?
Mail servisleri bağımsız çalışsa bile yüksek kaynak kullanımı oluşturabilir. Spam saldırıları, yoğun toplu mail gönderimleri ve mail kuyrukları disk ile CPU kullanımını artırır. Bu yük web sunucusuna bindiğinde, sistemin tamamında performans düşüşü yaşanmaya baş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 yüksek oranda bellek ve disk erişimi gerçekleştirir. Aynı sunucu üzerinde web ve mail servisleri de çalışıyorsa, bu durum kaynak paylaşımı nedeniyle gecikmelere ve zaman zaman kilitlenmelere yol açabilir.
Veritabanı ayrı bir sunucuya taşındığında, tüm RAM ve disk kaynakları yalnızca MySQL veya MariaDB servisleri tarafından kullanılır. Plesk üzerinden remote database server tanımlanarak web sunucusu ile veritabanı sunucusu arasında bağlantı sağlanır.

Ayırma İşlemi Öncesi Gereksinimler
Bu mimariyi uygulayabilmek için minimum üç sunucu gereklidir. Plesk’in kurulu olduğu ana sistem web sunucusu olarak görev alır ve sunucu A olarak konumlandırılır. Veritabanı işlemleri için yeni bir Linux sunucu B, mail servisleri için ise ayrı bir Linux sunucu C hazırlanır. Tüm sunucuların root erişimine sahip olması ve ağ üzerinden birbirleriyle iletişim kurabilmesi gerekir.
Sunucu B Üzerinde Veritabanı Servisinin Hazırlanması
Bu adımda veritabanı servisleri, Plesk’in çalıştığı ana sunucudan ayrılarak Sunucu B üzerine taşınır. Öncelikle Sunucu B’ye SSH bağlantısı kurulur ve MariaDB kurulumu gerçekleştirilir.
sudo apt update
sudo apt install mariadb-server -yKurulumdan sonra MariaDB’nin uzak sunuculardan bağlantı kabul etmesi için yapılandırma dosyası düzenlenir.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfAşağıdaki satır tespit edilir.
bind-address = 127.0.0.1Bu değer, dış bağlantılara izin verecek şekilde güncellenir.
bind-address = 0.0.0.0Son olarak MariaDB servisi yeniden başlatılarak ayarlar aktif edilir.
sudo systemctl restart mariadbPlesk Bağlantısı İçin MariaDB Yetkilendirmesi
Plesk’in veritabanı sunucusuna erişebilmesi için MariaDB üzerinde yetkilendirilmiş bir kullanıcıya ihtiyaç vardır. Bu işlem Sunucu B üzerinde root yetkisiyle yapılır.
mysql -u rootCREATE 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_IPKaydedelim ve çıkalım.
Mail Servisini Ayrı Sunucuya Taşıma (Sunucu C)
Veritabanı ayrım işlemi tamamlandıktan sonra sıradaki işlem mail servislerinin ayrılmasıdır. Yeni sunucuya bağlantı sağlanarak Sunucu C mail sunucusu rolünü üstlenir. Bu adımla birlikte SMTP ve IMAP servisleri bu sunucu üzerinde çalışmaya başlar.
sudo apt update
sudo apt install postfix dovecot-core dovecot-imapd -yMail trafiğinin yeni sunucuya yönlenmesi için DNS kayıtlarını düzenleyelim.
MX Kaydı
MX 10 mail.domainadi.comSPF Kaydı
v=spf1 ip4:MAIL_SERVER_IP -allArtı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.