Birçok Plesk altyapısı, kolay kurulum avantajı nedeniyle mail, web ve veritabanı servislerinin tamamının tek bir sunucu üzerinde çalıştığı bir yapı ile başlatılır. Bu senaryoda siteler yayınlanır, e-posta servisleri devreye alınır ve tüm veritabanı işlemleri aynı sunucu üzerinden yürütülür.
Zamanla artan trafik, çoğalan web siteleri ve büyüyen veritabanı sorguları ise sistem kaynaklarını zorlamaya başlar ve performans sorunları kendini göstermeye başlar.
Servis Ayrımı Ne Anlama Gelir?
Plesk kullanılan standart sunucu yapılarında web, mail ve veritabanı servisleri çoğu zaman aynı anda tek bir sunucu üzerinde çalışır. Web katmanında Apache veya Nginx ile birlikte PHP-FPM süreçleri aktifken, mail tarafında Postfix, Dovecot ve spam filtreleri yoğun şekilde disk ve ağ kullanımı yapar. Veritabanı katmanında ise MySQL veya MariaDB servisleri sürekli bellek ve disk erişimi gerektirir. Mail, web ve veritabanı servislerini ayırmak, bu servislerin her birinin kendi kaynaklarına sahip ayrı sunucular üzerinde çalıştırılması anlamına gelir.
Web Sunucusu Ayrı Bir Rol Olarak Nasıl Yapılandırılmalı?
Plesk kullanılan yapılarda web sunucusu ana yönetim katmanı olarak görev alır ve bu sunucuda sadece web servisleri bulunur. Apache veya Nginx, PHP-FPM süreçleri ve web dosyaları bu sistem üzerinde çalışır. Mail ve veritabanı servisleri devre dışı bırakılarak kaynak kullanımı azaltılır.
Bu yapı sayesinde PHP süreçleri daha dengeli bir çalışma düzenine kavuşur. Trafik dalgalanmaları mail veya veritabanı tarafında oluşabilecek gecikmelere yol açmaz. WordPress, WooCommerce ve özel uygulama barındıran sistemlerde bu iyileşme doğrudan hissedilir.
Mail Sunucusunun Ayrı Çalışması Neden Önemlidir?
Mail servisleri tek başına çalıştığında dahi ciddi sistem kaynakları tüketebilir. Spam saldırıları, toplu e-posta gönderimleri ve mail kuyrukları disk ve CPU kullanımını yükseltir. Bu yük web sunucusuna yansıdığı anda tüm sistemin yavaşladığı açık şekilde hissedilir.

Mail sunucusu ayrı bir sistem olarak konumlandırıldığında bu risk ortadan kalkar. MX kayıtları mail sunucusuna yönlendirilir
Veritabanını Ayrı Bir Sunucuya Almak Neden Faydalıdır?
Veritabanı servisleri, özellikle sorgu yoğunluğu yüksek olan sistemlerde sürekli bellek ve disk erişimi yapar. Aynı sunucuda web ve mail servisleri de çalışıyorsa bu durum performans sorunlarına, gecikmelere ve kilitlenmelere sebep olabilir.
Veritabanı ayrı bir sunucuya taşındığında tüm RAM ve disk kaynakları yalnızca MySQL veya MariaDB servislerine tahsis edilir. Plesk üzerinden remote database server tanımlanarak gerekli bağlantı yapılandırılır.

Servis Ayrımı İçin Ön Hazırlık
Mail, web ve veritabanı servislerinin ayrılabilmesi için en az üç sunucuya ihtiyaç duyulur. Plesk kurulu ana sunucu web sunucusu olarak kullanılır ve A sunucusu olarak belirlenir. Veritabanı için yeni bir Linux sunucu B, mail servisleri için ise farklı bir Linux sunucu C devreye alınır. Bu sunucuların tamamında root erişimi bulunmalı ve aynı ağda ya da karşılıklı erişilebilir IP’ler üzerinden iletişim sağlanmalıdır.
Veritabanını Ayrı Sunucuya Taşıma İçin İlk Kurulum
Bu aşamada, Plesk kurulu ana sunucudan veritabanı yükü ayrılarak Sunucu B üzerinde bağımsız bir MariaDB servisi kurulur. Sunucu B’ye SSH ile bağlandıktan sonra gerekli paketler yüklenir.
sudo apt update
sudo apt install mariadb-server -yMariaDB’nin dış ağdan erişilebilir olması için yapılandırma dosyası açılır.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfDosya içerisinde yer alan aşağıdaki satır bulunur.
bind-address = 127.0.0.1Bu satır, tüm IP’lerden bağlantı kabul edecek şekilde düzenlenir.
bind-address = 0.0.0.0Ayarların uygulanması için servis yeniden başlatılır.
sudo systemctl restart mariadb
Remote Database İçin Kullanıcı Tanımlama
Plesk’in veritabanı sunucusuna uzaktan bağlanabilmesi için MariaDB üzerinde gerekli kullanıcı yetkileri verilmelidir. Bu işlem root kullanıcı ile gerçekleştirilir.
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.
Sunucu C Üzerinde Mail Servislerinin Konumlandırılması
Veritabanı sunucusu ayrıldıktan sonra mail servisleri için ayrı bir sunucu yapılandırılır. Yeni sunucuya bağlanılarak Sunucu C mail sunucusu olarak devreye alınır. Bu işlem sonucunda SMTP ve IMAP servisleri Sunucu C üzerinde aktif hale gelir.
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.