Narhost

Laravel Hosting Nasıl Seçilir, Paylaşımlı mı VPS mi

Laravel Hosting Nasıl Seçilir, Paylaşımlı mı VPS mi — Narhost Hosting rehberi kapak görseli

İçindekiler

Kısaca özet

  • Laravel hosting, PHP çatısı Laravel ile yazılmış bir uygulamayı yayına almak için gereken barındırma ortamıdır; Laravel 13 en az PHP 8.3 ve bir dizi PHP eklentisi ister.
  • Küçük ve orta ölçekli bir Laravel projesi cPanel’li paylaşımlı hostingte çalışır; site kökünün public klasörüne bakması ve PHP sürümünün uygun olması yeterlidir.
  • Paylaşımlı hostingte SSH olmadığında composer ve artisan komutları doğrudan çalıştırılamaz; bağımlılıklar yerelde hazırlanıp yüklenir, zamanlayıcı cron ile tetiklenir.
  • Sürekli çalışan kuyruk işçisi, WebSocket sunucusu, Horizon veya Octane gerekiyorsa paylaşımlı hosting yetmez, VPS gerekir.
  • Karar ölçütü kod büyüklüğü değil, uygulamanın arka planda sürekli çalışan bir süreç isteyip istemediğidir.

Geliştiriciniz projeyi Laravel ile yazdı, yerelde her şey çalışıyor ve sıra yayına almaya geldi. İlk soru hep aynıdır: bunu sıradan bir hosting paketinde çalıştırabilir miyiz, yoksa sunucu mu kiralamamız gerekiyor? Laravel hosting seçimi aslında iki soruya indirgenir. Birincisi, sunucuda doğru PHP sürümü ve eklentileri var mı. İkincisi, uygulamanız arka planda kesintisiz çalışan bir süreç istiyor mu. Bu iki sorunun cevabı paketi belirler.

Laravel Hosting İçin Temel Gereksinimler

Laravel’in resmî yayına alma belgesine göre Laravel 13 için sunucuda en az PHP 8.3 bulunmalı. Bunun yanında Ctype, cURL, DOM, Fileinfo, Filter, Hash, Mbstring, OpenSSL, PCRE, PDO, Session, Tokenizer ve XML eklentileri istenir. Bu eklentiler modern bir cPanel sunucusunda büyük ölçüde standart olarak açıktır.

İkinci şart veritabanıdır. Laravel MySQL, MariaDB, PostgreSQL ve SQLite ile çalışır; paylaşımlı hostingte en yaygın eşleşme MySQL ya da MariaDB’dir. Üçüncü şart ise sitenin kök dizininin projenin public klasörünü göstermesidir. Proje kökü doğrudan yayına açılırsa .env dosyası gibi gizli yapılandırmalar tarayıcıdan okunabilir hâle gelebilir.

Bilgi

Laravel her yıl yeni bir ana sürüm çıkarır ve her sürüm asgari PHP sürümünü yükseltebilir. Projenin hangi Laravel sürümünü kullandığını composer.json dosyasından öğrenin ve hosting paketindeki PHP sürümünü buna göre seçin. PHP sürümünün uygulamaya etkisini PHP sürümü neden önemli yazısı ayrıntılı anlatıyor.

Paylaşımlı Hostingte Laravel Çalışır mı

Çalışır. cPanel’li bir paylaşımlı pakette Laravel sitesi yayına almak için PHP sürümünü panelden seçer, bir MySQL veritabanı açar, proje dosyalarını yükler ve alan adının kök dizinini public klasörüne yönlendirirsiniz. Softaculous uygulama listesinde Laravel de bulunduğu için boş bir Laravel iskeletini tek tıkla kurmak da mümkündür. Kurumsal tanıtım sitesi, küçük bir yönetim paneli, randevu formu ya da ürün kataloğu gibi projeler bu ortamda rahat çalışır.

Laravel hosting açısından paylaşımlı paketin sınırları kaynak ve süreç tarafındadır. İşlemci, bellek ve eşzamanlı işlem sayısı paketle sınırlıdır; uzun süren istekler zaman aşımına uğrayabilir. Bunlar küçük projede sorun çıkarmaz, trafik ve arka plan işi arttıkça görünür olur. Paket seçerken bakılacak genel ölçütleri hosting nasıl seçilir rehberi toplu hâlde veriyor; Narhost’un web hosting paketlerinde PHP sürümü panelden değiştirilebilir ve paketler MariaDB 10.11 ile gelir.

SSH Yoksa Composer ve Artisan Ne Olur

Laravel dünyasındaki alışkanlık, sunucuya SSH ile bağlanıp composer ile bağımlılıkları kurmak ve artisan komutlarıyla önbellek, göç (migration) ve depolama bağlantısı gibi işleri yapmaktır. Paylaşımlı hosting paketlerinde SSH erişimi her zaman bulunmaz. Bu durumda iş akışı değişir ama tıkanmaz.

Bağımlılıklar yerelde ya da bir derleme ortamında composer ile hazırlanır, vendor klasörüyle birlikte sunucuya yüklenir. cPanel’deki Git Version Control aracıyla depoyu çekmek dosya yükleme işini düzenler. Veritabanı göçleri yereldeki bir yedeğin phpMyAdmin ile içe aktarılmasıyla ya da tek seferlik bir zamanlanmış görevle çalıştırılır. Yöntem çalışır, ancak her güncellemede birkaç elle adım ekler. Sık güncellenen bir projede bu yük zamanla VPS’e geçmek için bir gerekçe olur.

Dikkat

Yerelde hazırladığınız vendor klasörü, sunucudaki PHP sürümüyle uyumlu olmalıdır. Yerelde PHP 8.4 ile kurulan bağımlılıklar, sunucuda PHP 8.3 seçiliyse hata verebilir. Composer’ın hedef PHP sürümünü sunucudakiyle aynı tutun ve yayına almadan önce hosting panelindeki sürümü kontrol edin.

Zamanlayıcı ve Kuyruk, Asıl Ayrım Noktası

Laravel’in zamanlanmış görevleri tek bir giriş noktasından yönetilir: sunucuda her dakika çalışan bir cron satırı, Laravel’in schedule:run komutunu tetikler ve hangi görevin zamanı geldiyse onu çalıştırır. Laravel zamanlayıcı belgesi bu yapıyı anlatır. Paylaşımlı hostingte cPanel’in Cron Jobs ekranı bu iş için yeterlidir; paket her dakika çalışan görevlere izin veriyorsa zamanlayıcı sorunsuz çalışır. cPanel’de zamanlanmış görev tanımlamanın adımları destek merkezindeki cPanel cron jobs kartında anlatılıyor.

Kuyruk işçisi ise farklıdır. Laravel belgesi, queue:work sürecinin arka planda kalıcı çalışmasını ve çökerse Supervisor gibi bir süreç yöneticisiyle yeniden başlatılmasını önerir. Paylaşımlı hostingte kalıcı süreç çalıştırmak mümkün değildir; paket, uzun süre açık kalan işlemleri sonlandırır. Ara çözüm, kuyruğu cron ile belirli aralıklarla boşaltıp kapanan bir komutla işlemektir. E-posta gönderimi gibi gecikmeye toleranslı işlerde bu yeterlidir, anlık bildirim ve ödeme sonrası işlemler gibi saniyelerin önemli olduğu işlerde yetmez.

laravel hosting seçimini PHP sürümü, public klasörü, cron zamanlayıcı ve kuyruk işçisi adımlarıyla gösteren şema
PHP ve kök dizin doğruysa paylaşımlı yeter; kalıcı kuyruk işçisi gerektiğinde VPS'e geçilir.

Laravel Hosting Karşılaştırması, Paylaşımlı mı VPS mi

Aşağıdaki tablo iki ortamı Laravel projelerinin en çok takıldığı noktalarda karşılaştırıyor.

İhtiyaç Paylaşımlı hosting (cPanel) VPS
PHP sürümü ve eklentiler Panelden seçilir, standart eklentiler açık İstediğiniz sürüm ve eklentiyi kendiniz kurarsınız
Composer ve artisan SSH yoksa yerelde hazırlanıp yüklenir Doğrudan sunucuda çalıştırılır
Zamanlayıcı (schedule:run) cPanel Cron Jobs ile çalışır Crontab ile çalışır
Kuyruk işçisi Kalıcı süreç yok, yalnız cron ile aralıklı işleme Supervisor ile kesintisiz çalışır
WebSocket, Horizon, Octane Desteklenmez Kurulabilir
Bakım sorumluluğu Sunucu sağlayıcıda, uygulama sizde Sunucu ve uygulama sizde

Örnek senaryo

Bir diş kliniği zinciri, 5 şube için randevu sistemini Laravel ile yazdırdı. Sistem günde yaklaşık 300 randevu alıyor, hatırlatma e-postalarını gece toplu gönderiyor. Proje cPanel’li bir paylaşımlı pakette yayına alındı; zamanlayıcı her dakika cron ile tetikleniyor, e-posta kuyruğu beş dakikada bir boşaltılıyor. Bir yıl sonra kliniğe SMS ile anlık onay ve hasta paneline canlı bildirim eklenmesi istendi. Anlık iş kuyruğu ve WebSocket sunucusu gerektiği için uygulama bir VPS’e taşındı, kuyruk işçisi Supervisor ile kalıcı çalıştırılmaya başlandı.

Ne Zaman VPS’e Geçmek Gerekir

Laravel hosting kararında VPS’i zorunlu kılan durumlar bellidir. Uygulamanız sürekli çalışan bir kuyruk işçisine, Horizon paneline, Reverb gibi bir WebSocket sunucusuna ya da Octane ile kalıcı bellekte çalışan bir sunucuya ihtiyaç duyuyorsa paylaşımlı hosting bu süreçleri barındıramaz. Redis gibi ayrı bir önbellek ve kuyruk sunucusu kurmak istediğinizde de durum aynıdır.

İkinci tetikleyici dağıtım sıklığıdır. Günde birkaç kez yayın yapan bir ekip, her seferinde vendor klasörü yükleyip göçleri elle çalıştırmak istemez; SSH ile otomatik dağıtım kurmak VPS’te çok daha pratiktir. Laravel’in yanında Node.js ya da Python ile çalışan bir yan servis varsa, farklı dillerin barındırma ihtiyacını karşılaştıran Python ve Node.js için hangi hosting yazısı da karar için yol gösterir. VPS’in bedeli yönetim yüküdür: işletim sistemi, web sunucusu, PHP-FPM ve güvenlik güncellemeleri size geçer.

Sonuç

Laravel hosting seçimi kod büyüklüğüne değil süreç ihtiyacına göre yapılır. Zamanlayıcı ve gecikmeye toleranslı kuyrukla yetinen bir proje cPanel’li paylaşımlı hostingte rahat çalışır. Kalıcı kuyruk işçisi, WebSocket veya sık otomatik dağıtım gerekiyorsa VPS doğru ortamdır.

Laravel Projesini Yayına Almadan Önce Kontrol Listesi

  • composer.json dosyasından Laravel sürümünü ve istenen asgari PHP sürümünü okuyun.
  • Hosting panelinde aynı PHP sürümünü seçin ve gerekli eklentilerin açık olduğunu doğrulayın.
  • Alan adının kök dizinini projenin public klasörüne yönlendirin; .env dosyasının tarayıcıdan erişilemediğini kontrol edin.
  • Uygulamanın arka planda kalıcı bir kuyruk işçisi isteyip istemediğini geliştiricinize sorun.
  • Zamanlayıcı için her dakika çalışan cron görevini tanımlayın.
  • Canlı ortamda hata ayıklama modunu kapatın ve yapılandırma önbelleğini oluşturun.
  • Veritabanı ve dosya yedeğinin nasıl alınacağını yayından önce planlayın.

Sıkça sorulan sorular

Laravel hosting için özel bir paket almak gerekir mi?

Gerekmez. Laravel standart bir PHP uygulamasıdır; güncel PHP sürümü, gerekli eklentiler ve MySQL veritabanı sunan cPanel’li bir paylaşımlı paket küçük ve orta ölçekli projeler için yeterlidir. Özel bir pakete ya da sunucuya ihtiyaç, kalıcı kuyruk işçisi veya WebSocket gibi arka plan süreçleri devreye girdiğinde doğar.

Paylaşımlı hostingte Laravel kuyruğu çalışır mı?

Kalıcı bir kuyruk işçisi çalışmaz, çünkü paylaşımlı hosting uzun süre açık kalan süreçleri sonlandırır. Kuyruk, cron ile belirli aralıklarla tetiklenip işler bitince kapanan bir komutla işlenebilir. Bu yöntem toplu e-posta gibi gecikmeye toleranslı işlerde yeterlidir; anlık işlenmesi gereken görevler için VPS gerekir.

Laravel için hangi PHP sürümünü seçmeliyim?

Projenizin kullandığı Laravel sürümünün istediği asgari PHP sürümünü seçin; Laravel 13 için bu PHP 8.3’tür. Güvenlik desteği süren en güncel sürümü kullanmak genellikle doğrudur, ancak projedeki paketlerin o sürümle uyumlu olduğunu önce test ortamında doğrulayın.

Laravel sitesi neden 500 hatası veriyor?

Yayına almadan sonra en sık görülen sebepler yanlış PHP sürümü, eksik vendor klasörü, storage ve bootstrap/cache klasörlerinde yazma izni olmaması ve .env dosyasındaki hatalı veritabanı bilgileridir. Hata ayıklama modunu geçici olarak açmak yerine sunucunun hata günlüğüne ve Laravel’in kendi günlük dosyasına bakın.

Laravel uygulamasını paylaşımlı hostingten VPS’e taşımak zor mu?

Uygulama tarafında zor değildir; kod aynı kalır, .env dosyasındaki bağlantı bilgileri güncellenir. Asıl iş VPS’in hazırlanmasıdır: web sunucusu, PHP-FPM, veritabanı, SSL, Supervisor ve güvenlik duvarının kurulması gerekir. Yönetimsiz bir VPS’te bu kurulum ve sonraki bakım sizin sorumluluğunuzdadır.

Narhost’ta

Web hosting paketlerimizde PHP sürümünü panelden 5.6 ile 8.4 arasında değiştirebilir, MariaDB veritabanı, cron ve Git Version Control ile Laravel projenizi NVMe disk üzerinde yayına alabilirsiniz.

Web hosting paketlerini incele

Bu konuyla ilgili Narhost hizmetleri

Yazıda anlatılan ihtiyaca doğrudan karşılık gelen paketler.

Alışveriş deneyiminizi iyileştirmek için yasal düzenlemelere uygun çerezler (cookies) kullanıyoruz. Detaylı bilgiye Gizlilik ve Çerez Politikası sayfamızdan erişebilirsiniz.