VPS (Virtual Private Server), fiziksel bir sunucunun sanallaştırmayla birden fazla izole sunucuya bölünmesiyle oluşturulan sanal sunucudur. Her VPS'in kendi işletim sistemi, IP adresi ve root erişimi olur; kaynaklar ise sağlayıcının politikasına göre bir havuzdan paylaştırılabilir. Paylaşımlı hostingten daha fazla kontrol, dedicated sunucudan daha düşük maliyet sunar.
Bu rehberde VPS'in teknik olarak nasıl çalıştığını, konteyner tabanlı ve tam sanallaştırmalı VPS arasındaki farkı, sunucuya nasıl bağlanılacağını ve paket seçerken nelere bakılması gerektiğini anlatıyoruz. Somut örnekleri Linux VPS paketleri üzerinden veriyoruz.
VPS nedir?
VPS, kendi işletim sistemini çalıştıran ve dışarıdan bakıldığında ayrı bir sunucu gibi davranan sanal makinedir. Aynı fiziksel donanım üzerinde başka VPS'ler de çalışır, ancak her biri diğerlerinden yalıtılmıştır.
Paylaşımlı hostingte çok sayıda site aynı işletim sistemini, aynı web sunucusunu ve aynı PHP kurulumunu kullanır; siz yalnızca size ayrılan klasörü ve kontrol paneli ekranlarını yönetirsiniz. VPS'te ise işletim sistemi size aittir. Hangi web sunucusunun kurulacağına, PHP'nin hangi sürümle çalışacağına, hangi portların açık kalacağına ve güvenlik duvarının nasıl yapılandırılacağına siz karar verirsiniz. Bu özgürlük sorumluluğu da beraberinde getirir: güncellemeler, yedekler ve güvenlik ayarları artık sunucu yöneticisinin işidir.
VPS ne demek?
VPS, İngilizce Virtual Private Server ifadesinin kısaltmasıdır; Türkçede "sanal özel sunucu" ya da kısaca "sanal sunucu" olarak kullanılır. "Sanal" kelimesi sunucunun fiziksel bir makine değil, yazılımla oluşturulmuş bir makine olduğunu anlatır. "Özel" kelimesi ise işletim sisteminin, dosyaların ve yapılandırmanın yalnızca size ait olduğunu belirtir. Özel olması donanımın size ayrıldığı anlamına gelmez; bu ayrım aşağıdaki kaynak paylaşımı bölümünde önem kazanıyor.
VPS nasıl çalışır?
Fiziksel sunucuya kurulan sanallaştırma katmanı; işlemciyi, belleği, diski ve ağı bölerek her VPS'e sanal donanım olarak sunar. Her VPS bu sanal donanımı kendi makinesiymiş gibi kullanır.
Sanallaştırma ve izolasyon
Sanallaştırmanın merkezinde hypervisor bulunur. Hypervisor, fiziksel donanım ile sanal makineler arasında duran ve her sanal makineye işlemci zamanı, bellek ve aygıt erişimi dağıtan yazılımdır. Fiziksel makineye host (ana makine), üzerinde çalışan sanal makinelere guest (misafir) denir. Konteyner tabanlı VPS'lerde ise hypervisor yerine host çekirdeğinin izolasyon özellikleri kullanılır; bu farkı aşağıda ayrıca anlatıyoruz.
İzolasyon, bir VPS'teki süreçlerin diğer VPS'lerin belleğini, dosyalarını veya ağ trafiğini göremeyeceği anlamına gelir. Komşu VPS'lerden birinde yazılım çöktüğünde ya da biri yeniden başlatıldığında sizin sunucunuz çalışmaya devam eder. Her VPS'in ayrı IP adresi, ayrı kullanıcı hesapları ve ayrı root yetkisi vardır. Root, Linux'ta sistemdeki her dosyayı değiştirebilen ve her servisi yönetebilen en yetkili kullanıcıdır.
Kaynak paylaşımı
Bir VPS paketinde yazan "2 çekirdek, 4 GB RAM", sanal makinenin göreceği kaynak miktarıdır. Bu kaynakların fiziksel donanımda size ne kadar kesin olarak ayrıldığı ise sağlayıcının politikasına bağlıdır.
VPS tarafında birçok sağlayıcı overcommit uygular. Overcommit, bir host üzerindeki sanal makinelere toplamda fiziksel kapasiteden fazla işlemci veya bellek tahsis edilmesidir. Mantığı şudur: sanal makinelerin hepsi aynı anda tam yükte çalışmaz, boşta kalan kapasite diğerlerine kullandırılabilir. Bu model maliyeti düşürür; ancak aynı host üzerindeki birkaç VPS aynı anda yoğunlaştığında işlemci bekleme süreleri artabilir. Sektörde buna "gürültülü komşu" (noisy neighbor) etkisi denir.
VDS (Virtual Dedicated Server) ile VPS arasındaki temel fark burada ortaya çıkar. VDS'te pakette yazan çekirdek ve bellek fiziksel kapasiteden size ayrılır, yani kaynak garantilidir; VPS'te ise kaynaklar havuzdan paylaştırılabilir. İki modelin ayrıntılı karşılaştırmasını kaynak garantisi farkı yazımızda bulabilirsiniz.
Tam sanallaştırma ile konteyner tabanlı VPS farkı
VPS'ler iki farklı teknolojiyle oluşturulabilir: tam sanallaştırma ve konteyner tabanlı sanallaştırma. Hangisinin kullanıldığı, sunucuya neler kurabileceğinizi doğrudan belirler.
Tam sanallaştırmada her sanal makine kendi çekirdeğini (kernel) çalıştırır. Bu yaklaşımın en bilinen örneği KVM'dir (Kernel-based Virtual Machine). KVM, Intel VT veya AMD-V sanallaştırma uzantılarına sahip x86 donanımda çalışan, Linux çekirdeğine 2.6.20 sürümünden beri dahil olan açık kaynaklı bir tam sanallaştırma çözümüdür. Sanal makine; ağ kartı, disk ve grafik aygıtı gibi kendi sanal donanımını görür ve üzerine değiştirilmemiş Linux veya Windows kurulabilir.
Konteyner tabanlı sanallaştırmada (OpenVZ, LXC) her makine için ayrı bir çekirdek yoktur. Tüm konteynerler host'un Linux çekirdeğini paylaşır; izolasyon, çekirdeğin ad alanları (namespaces) ve kaynak grupları (cgroups) gibi özellikleriyle sağlanır. OpenVZ kendini, tek bir fiziksel sunucuda çok sayıda güvenli ve izole Linux konteyneri çalıştıran bir teknoloji olarak tanımlar. Bu yapı daha hafiftir, çünkü her makine için ayrı çekirdek ve sanal donanım çalıştırılmaz. Buna karşılık konteynerin çekirdek sürümünü siz seçemezsiniz, çekirdek modülü yükleyemezsiniz ve Windows çalıştıramazsınız.
| Özellik | Tam sanallaştırma (ör. KVM) | Konteyner tabanlı (OpenVZ, LXC) |
|---|---|---|
| Çekirdek | Her VPS'in kendi çekirdeği var | Host'un çekirdeği paylaşılır |
| Kurulabilecek işletim sistemi | Linux, Windows ve diğerleri | Yalnızca Linux |
| Çekirdek modülü ve çekirdek ayarları | Serbest | Sınırlı ya da yok |
| Docker, WireGuard gibi çekirdek özelliği isteyen yazılımlar | Normal bir sunucudaki gibi çalışır | Host yapılandırmasına ve sağlayıcının izinlerine bağlı |
| Sanallaştırma ek yükü | Biraz daha fazla | Daha az |
| İzolasyon seviyesi | Sanal donanım seviyesinde | Çekirdek içinde süreç seviyesinde |
Sunucunuzun hangi teknolojiyle çalıştığını öğrenmek için systemd kullanan dağıtımlarda (Ubuntu, Debian, AlmaLinux, Rocky Linux) şu komutu çalıştırabilirsiniz:
systemd-detect-virt
Çıktı kvm ise tam sanallaştırmalı bir sanal makinedesiniz; openvz veya lxc ise konteyner tabanlı bir ortamdasınız. Docker ya da VPN kurmayı planlıyorsanız bu bilgiyi satın almadan önce sağlayıcıya sormak, sonradan uyumsuzlukla uğraşmaktan çok daha kolaydır.
Linux VPS ve Windows VPS
Linux VPS, işletim sistemi olarak Ubuntu, Debian veya AlmaLinux gibi bir Linux dağıtımı çalıştırır; Windows VPS ise Windows Server çalıştırır. Seçimi çoğu zaman sunucuda çalışacak yazılım belirler.
Ubuntu, Debian ve AlmaLinux gibi dağıtımların lisans ücreti yoktur. Grafik arayüz olmadan çalıştıkları için işletim sisteminin kendi bellek ihtiyacı düşüktür ve PHP, WordPress, Laravel, Node.js, Python, MySQL, MariaDB, PostgreSQL ve Redis gibi web yazılımları Linux'ta doğal ortamındadır. Yönetim SSH üzerinden komut satırıyla ya da kurulacak bir kontrol paneliyle yapılır.
Windows VPS; ASP.NET Framework ile yazılmış uygulamalar, IIS'e bağımlı projeler, MSSQL gerektiren yazılımlar veya yalnızca Windows'ta çalışan araçlar için gerekir. Yönetim genellikle Uzak Masaüstü (RDP) ile yapılır ve Windows Server lisansı maliyete yansır. Windows ayrı bir çekirdeğe ihtiyaç duyduğu için Windows VPS yalnızca tam sanallaştırmayla mümkündür.
Bulutzone'un VPS paketleri Linux tabanlıdır. ASP.NET veya .NET Core ile geliştirilmiş siteler için Windows Server 2022 ve Plesk kullanan Windows hosting seçeneği ayrıca bulunuyor.
VPS ne işe yarar? Kullanım alanları
VPS, paylaşımlı hostingin sınırlarına takılan ama fiziksel sunucu gerektirmeyen iş yüklerinin çoğu için uygundur. Yaygın kullanım alanları şunlardır:
- Web siteleri ve e-ticaret: WordPress, WooCommerce, Laravel veya özel PHP uygulamaları; kendi web sunucusu ve önbellek yapılandırmasıyla.
- Birden fazla site: Ajansların veya çok markalı işletmelerin sitelerini tek sunucuda, bir kontrol paneliyle yönetmesi.
- Uygulama ve API sunucusu: Node.js, Python (Django, FastAPI), Go veya .NET ile yazılmış, sürekli çalışan servisler.
- Veritabanı sunucusu: Web sunucusundan ayrılmış MySQL, MariaDB veya PostgreSQL.
- Konteyner ortamı: Docker ve Docker Compose ile çok servisli uygulamalar (tam sanallaştırmalı VPS'te).
- VPN ve uzaktan erişim: WireGuard veya OpenVPN ile ekip için güvenli bağlantı noktası.
- Test ve hazırlık (staging) ortamı: Güncellemeleri canlı siteyi etkilemeden denemek.
- Otomasyon: Zamanlanmış görevler, botlar, CI/CD çalıştırıcıları ve yedek betikleri.
Bir örnek üzerinden düşünelim: Beş kurumsal WordPress sitesini ayrı paylaşımlı hosting hesaplarında tutan bir ajans; her hesap için ayrı panel, ayrı yenileme tarihi ve ayrı kaynak limitleriyle uğraşır. Bu siteleri tek bir VPS'te toplamak ortak bir PHP ve önbellek yapılandırması, tek bir yedekleme planı ve siteler arasında esnek kaynak kullanımı sağlar. Karşılığında sunucunun güncel ve güvenli tutulması ajansın işi haline gelir.
VPS, hosting, VDS ve dedicated karşılaştırması
Dört hizmet arasındaki fark, kaynakların ne kadarının size ayrıldığı ve sunucuyu ne ölçüde kontrol ettiğinizle ilgilidir. Aşağıdaki tablo genel eğilimleri gösterir; ayrıntılar sağlayıcıya göre değişir.
| Özellik | Paylaşımlı hosting | VPS | VDS | Dedicated sunucu |
|---|---|---|---|---|
| Altyapı | Tek sunucuda çok sayıda hesap | Paylaşılan host üzerinde sanal makine | Ayrılmış kaynaklı sanal makine | Fiziksel sunucunun tamamı |
| Kaynak garantisi | Hesap limitleriyle sınırlı | Sağlayıcı politikasına bağlı, overcommit olabilir | Pakette yazan kaynak size ayrılır | Tüm donanım sizin |
| Root erişimi | Yok | Var | Var | Var |
| İşletim sistemi seçimi | Yok | Var | Var | Var |
| Sunucu yönetimi | Sağlayıcı | Müşteri (yönetim hizmeti alınabilir) | Müşteri (yönetim hizmeti alınabilir) | Müşteri (yönetim hizmeti alınabilir) |
| Maliyet | En düşük | Düşük–orta | Orta | En yüksek |
| Tipik kullanım | Kurumsal site, blog | Birden çok site, uygulama, test ortamı | Tutarlı performans isteyen uygulama | Sürekli yüksek yük, özel donanım ihtiyacı |
Özetle paylaşımlı hosting yönetim yükünü sağlayıcıya bırakır ama esnekliği sınırlar. VPS esneklik verir ve kaynak paylaşımıyla maliyeti düşük tutar. VDS aynı esnekliği garantili kaynakla sunar, dedicated sunucu ise donanımın tamamını verir. VDS kavramını ayrıntılı incelemek isterseniz VDS nedir rehberimize bakabilirsiniz.
Managed ve unmanaged VPS
Unmanaged (yönetilmeyen) VPS'te sağlayıcı sanal makineyi çalışır halde teslim eder; işletim sistemi ve üzerindeki her şey sizin sorumluluğunuzdadır. Managed (yönetilen) VPS'te güncelleme, izleme ve güvenlik gibi işlerin bir kısmını ya da tamamını sağlayıcının ekibi üstlenir.
Unmanaged modelde size kalan işler tipik olarak şunlardır: işletim sistemi ve paket güncellemeleri, güvenlik duvarı ve SSH ayarları, web sunucusu ve veritabanı yapılandırması, yedeklerin doğrulanması, disk ve servis izleme, saldırı belirtilerinin takibi. Linux'ta deneyimli bir ekip için bu olağan bir iş yüküdür. Sunucuyla ayda bir kez ilgilenebilen küçük bir işletme için ise güncellenmeyen bir sunucu ciddi risk demektir.
Bulutzone'da sunucuyla birlikte ücretsiz gelen SLA-1 Başlangıç seviyesi; işletim sistemi kurulumu, yeniden kurulum, yeniden başlatma ve şifre sıfırlama gibi temel işleri kapsar. İşletim sistemi güncellemesi, izleme ve saldırı tespiti ise SLA-2 ve SLA-3 seviyelerinde yer alır; ayrıntılar sunucu yönetimi sayfasında. Hangi modelin size uygun olduğunu değerlendirmek için yönetilen VPS ve yönetilmeyen sunucu farkını anlattığımız yazıya göz atabilirsiniz.
VPS'e nasıl bağlanılır?
Linux VPS'e SSH (Secure Shell) ile bağlanılır. SSH, sunucuya şifreli bir kanal üzerinden komut satırı erişimi sağlayan protokoldür. macOS ve Linux'ta terminalde, güncel Windows 10 ve Windows 11 sürümlerinde ise PowerShell'de SSH istemcisi hazır gelir.
Sağlayıcının ilettiği IP adresi ve root şifresiyle ilk bağlantı şöyle yapılır (örnekteki IP adresini kendi sunucunuzunkiyle değiştirin):
ssh root@203.0.113.10
İlk girişten sonra üç iş önceliklidir: şifre yerine anahtarla giriş, root yerine yetkili bir kullanıcı ve güncel bir sistem.
1. SSH anahtarı oluşturup sunucuya kopyalayın. Bu komutları kendi bilgisayarınızda çalıştırın:
ssh-keygen -t ed25519 -C "is-bilgisayari"
ssh-copy-id root@203.0.113.10
Windows'ta ssh-copy-id bulunmaz; açık anahtar dosyasının (.pub uzantılı) içeriğini sunucudaki ~/.ssh/authorized_keys dosyasına elle eklemeniz gerekir.
2. Sudo yetkili bir kullanıcı oluşturun. Ubuntu ve Debian'da yönetici grubunun adı sudo, AlmaLinux ve Rocky Linux'ta wheel'dir:
# Ubuntu / Debian
adduser deploy
usermod -aG sudo deploy
# AlmaLinux / Rocky Linux
adduser deploy
passwd deploy
usermod -aG wheel deploy
Yeni kullanıcıya da anahtarınızı ekleyin (ssh-copy-id deploy@203.0.113.10). Ardından ayrı bir terminal penceresinde bu kullanıcıyla giriş yapıp sudo -v komutunun çalıştığını doğrulayın.
3. Şifreyle girişi kapatın. /etc/ssh/sshd_config dosyasında şu satırları ayarlayın:
PermitRootLogin prohibit-password
PasswordAuthentication no
Bazı dağıtım imajlarında /etc/ssh/sshd_config.d/ klasöründeki dosyalar bu ayarları geçersiz kılabilir. Etkin değeri sudo sshd -T | grep -i passwordauthentication komutuyla kontrol edin. Sonra servisi yeniden başlatın: Ubuntu ve Debian'da sudo systemctl restart ssh, AlmaLinux ve Rocky Linux'ta sudo systemctl restart sshd.
Uyarı: Anahtarla girişin çalıştığını ayrı bir oturumda doğrulamadan mevcut SSH oturumunuzu kapatmayın. Hatalı bir ayar sunucuya erişiminizi kesebilir; bu durumda sağlayıcının konsol erişimine veya işletim sisteminin yeniden kurulmasına ihtiyaç duyarsınız.
Son olarak sistemi güncelleyin: Ubuntu ve Debian'da sudo apt update && sudo apt upgrade, AlmaLinux ve Rocky Linux'ta sudo dnf upgrade --refresh. Komut satırı yerine arayüz tercih ediyorsanız bir kontrol paneli kurmak da seçenektir; Bulutzone VPS paketlerinde kontrol paneli ücretsiz sunuluyor.
VPS seçerken nelere bakılır?
VPS seçerken yalnızca çekirdek ve RAM sayısına değil, bu kaynakların nasıl sunulduğuna ve sunucuyu kimin yöneteceğine de bakmak gerekir.
- Sanallaştırma türü: Docker, VPN veya çekirdek ayarı gerekiyorsa tam sanallaştırmalı bir VPS arayın.
- Kaynak politikası: Kaynakların paylaşımlı mı garantili mi olduğunu sorun. Tutarlı performans kritikse VDS'i değerlendirin.
- İşlemci: Çekirdek sayısı kadar işlemcinin modeli ve nesli de önemlidir; "2 çekirdek" farklı donanımlarda farklı sonuç verir.
- Disk türü: NVMe SSD, SATA SSD'ye göre daha düşük gecikme ve daha yüksek eşzamanlı işlem kapasitesi sunar. Farkı en çok veritabanı ağırlıklı işlerde hissedersiniz.
- RAM: Web sunucusu, PHP süreçleri, veritabanı önbelleği ve işletim sisteminin toplam ihtiyacını hesaplayın. RAM yetmediğinde sunucu diske takas (swap) yapar ve belirgin şekilde yavaşlar.
- Ağ ve trafik: Port hızı, trafik kotası ve IPv4 adresi sayısı.
- Yedekleme: Yedeğin pakete dahil olup olmadığı, ne sıklıkla alındığı ve geri dönüşün nasıl yapıldığı.
- Lokasyon: Ziyaretçileriniz Türkiye'deyse sunucunun da Türkiye'de olması ağ gecikmesini azaltır.
- Yönetim: Sunucuyu kendiniz mi yöneteceksiniz, yoksa bir yönetim hizmeti mi alacaksınız?
Bulutzone'un Linux VPS paketleri Intel Xeon Platinum 8260 tabanlı host'larda, DDR4 2933 MHz bellek ve Enterprise NVMe SSD ile çalışır; 1 Gbit/sn port, sınırsız trafik ve ücretsiz kontrol paneli içerir. Altı paketin tipik kullanım senaryolarıyla eşleşmesi şöyle özetlenebilir:
| Paket | Çekirdek | RAM | NVMe disk | Tipik senaryo |
|---|---|---|---|---|
| Essential | 1 | 2 GB | 20 GB | Tek küçük site, VPN, test ortamı |
| Advanced | 2 | 4 GB | 40 GB | Birkaç WordPress sitesi, küçük bir API |
| Professional | 2 | 6 GB | 60 GB | Belleği yoğun kullanan PHP uygulamaları, önbellekli siteler |
| Business | 4 | 8 GB | 80 GB | Orta trafikli e-ticaret, çok siteli ajans sunucusu |
| Corporate | 4 | 10 GB | 100 GB | Uygulama ve veritabanını aynı sunucuda tutan projeler |
| Enterprise | 4 | 16 GB | 120 GB | Büyük veritabanı önbelleği, arama motoru gibi bellek isteyen servisler |
Bu eşleşmeler bir başlangıç noktasıdır; kesin ihtiyacı sitenizin trafiği, eklenti sayısı ve veritabanı büyüklüğü belirler. Mevcut hostinginizde kaynak kullanımını birkaç hafta izlemek, doğru paketi seçmenin en güvenilir yoludur.
Sık sorulan sorular
VPS ile hosting arasındaki fark nedir?
Paylaşımlı hostingte işletim sistemi ve sunucu yazılımları sağlayıcıya aittir; siz yalnızca size ayrılan alanı yönetirsiniz. VPS'te kendi işletim sisteminiz ve root erişiminiz olur, istediğiniz yazılımı kurabilirsiniz. Karşılığında sunucunun güncelliği ve güvenliği size geçer.
VPS'e web sitesi kurulur mu?
Evet. Bir web sunucusu (Nginx, Apache veya LiteSpeed), PHP ve bir veritabanı kurarak ya da bir kontrol paneli yükleyerek birden fazla site barındırabilirsiniz. Kontrol paneli kullanmak alan adı ekleme, SSL ve e-posta işlerini arayüzden yapmanızı sağlar.
VPS güvenli mi?
Sanallaştırma katmanı VPS'leri birbirinden yalıtır, ancak sunucunun içindeki güvenlik yöneticinin elindedir. Güncellemeleri düzenli yapmak, SSH girişini anahtarla sınırlamak, güvenlik duvarında yalnızca gereken portları açmak ve yedekleri test etmek temel adımlardır. Ayrıntılar için Linux sunucu güvenliği rehberimize bakabilirsiniz.
VPS'te Docker çalışır mı?
KVM gibi tam sanallaştırmalı bir VPS'te Docker, normal bir Linux sunucusunda olduğu gibi çalışır. Konteyner tabanlı VPS'lerde ise sonuç host çekirdeğine ve sağlayıcının izinlerine bağlıdır. Docker kullanacaksanız sanallaştırma türünü satın almadan önce sorun.
Projenizin ihtiyacını netleştirdiyseniz çekirdek, RAM ve NVMe disk kapasitelerini karşılaştırmak için Linux VPS paketlerini inceleyebilirsiniz.