Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Laravel Uygulamasını Azure’daki Ubuntu veya Debian Sunucu Sanal Makinesine Dağıtma
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Laravel Uygulamasını Azure’daki Ubuntu veya Debian Sunucu Sanal Makinesine Dağıtma

Yazılım

Laravel Uygulamasını Azure’daki Ubuntu veya Debian Sunucu Sanal Makinesine Dağıtma

teknomers
Son güncelleme: 18 Temmuz 2026 17:43
teknomers
Paylaş
Paylaş

Bir Laravel uygulamasını dağıtmak, belirli bir maliyet gerektirmemelidir. Eğer halihazırda bir VPS veya Azure Sanal Makinesi’ne sahipseniz, Laravel projenizi Laravel Forge veya Laravel Cloud gibi hizmetler ödemeden manuel olarak dağıtabilirsiniz.

Bu kılavuzda, Nginx, PHP, MySQL ve Composer kullanarak bir Laravel uygulamasını adım adım nasıl dağıtacağımı göstereceğim. Her bir komutun ne yaptığını açıklayarak, arka planda neler olduğunu anlamanızı sağlayacağım.


Gereksinimler

Başlamadan önce aşağıdakilerin mevcut olduğundan emin olun:

  • Bir Ubuntu veya Debian sunucusu (bu kılavuzda Azure’da Ubuntu kullanılıyor)
  • Laravel projenizi içeren bir GitHub deposu
  • Sunucunuza SSH erişimi (veya şifre erişimi)
  • Root veya sudo yetkileri
  • Sanallaştırma makinenize atanmış bir genel IP adresi

1. Sunucuyu Güncelleyin

Herhangi bir paket yüklemeden önce, paket indeksinizi güncelleyin.

sudo apt update

İsteğe bağlı olarak, kurulu paketleri güncelleyebilirsiniz.

sudo apt upgrade -y

2. Nginx’i Yükleyin

Nginx, web sitelerini verimli bir şekilde sunmak için kullanılan yüksek performanslı bir web sunucusudur. Ayrıca ters proxy ve yük dengeleyici olarak da görev yapabilir.

Nginx’i yükleyin:

sudo apt install nginx -y

Yukarıdaki işlemin başarılı olup olmadığını kontrol edin:

sudo systemctl status nginx

3. MySQL’i Yükleyin

Laravel, uygulama verilerini saklamak için bir veritabanına ihtiyaç duyar.

MySQL Sunucu’yu yükleyin:

sudo apt install mysql-server -y

Kurulumun başarılı olup olmadığını kontrol edin:

sudo systemctl status mysql

4. PHP’i Yükleyin

Nginx, PHP dosyalarını doğrudan çalıştırmaz. Bunun yerine PHP-FPM (FastCGI Process Manager) ile iletişim kurarak PHP isteklerini işler.

Gerekli uzantılar ile birlikte PHP’i yükleyin:

sudo apt install -y \
php \
php-fpm \
php-cli \
php-common \
php-curl \
php-mbstring \
php-xml \
php-soap \
php-gd \
php-bcmath \
php-zip \
php-mysql

Not

Eğer spesifik bir PHP versiyonu (örneğin PHP 8.4) kullanıyorsanız, uyumlu paketleri yükleyin.

PHP sürümünüzü kontrol edin:

php -v

5. Composer’ı Yükleyin

Composer, PHP için bir bağımlılık yöneticisidir.

Composer’ı indirin ve yükleyin:

curl -sS https://getcomposer.org/installer | php

sudo mv composer.phar /usr/local/bin/composer

Kurulumun başarılı olup olmadığını kontrol edin:

composer --version

6. Node.js ve NPM’i Yükleyin

Laravel, frontend varlıklarını Vite ile derlemek için Node.js kullanır.

Node.js ve NPM’i yükleyin:

sudo apt install -y nodejs npm

7. GitHub Repository’nizi Klonlayın

Web dizinine geçin:

cd /var/www/html

Projenizi klonlayın:

git clone YOUR_GITHUB_SSH_URL learn-vm

Proje dizinine geçin:

cd learn-vm

8. Proje Bağımlılıklarını Yükleyin

Composer paketlerini yükleyin:

composer install --no-dev --optimize-autoloader

Node paketlerini yükleyin:

npm install

Ön yüz varlıklarını yükleyin:

npm run build

9. Ortam Değişkenlerini Yapılandırın

Ortam dosyasını kopyalayın:

cp .env.example .env

Uygulama anahtarını oluşturun:

php artisan key:generate

10. MySQL Veritabanını Oluşturun

MySQL’i açın:

sudo mysql

Aşağıdaki SQL komutunu çalıştırın:

CREATE DATABASE learnvm;

CREATE USER 'learnuser''localhost'
IDENTIFIED BY ;

GRANT ALL PRIVILEGES ON learnvm.TO @;

FLUSH PRIVILEGES;

EXIT;

11. Laravel’ı Yapılandırın

.env dosyasını açın:

nano .env

Veritabanı kimlik bilgilerinizi güncelleyin:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=learnvm
DB_USERNAME=learnuser
DB_PASSWORD=YOUR_PASSWORD

12. Veritabanı Migrations’larını Çalıştırın

php artisan migrate

Projede veritabanı seeders’ları varsa:

php artisan db:seed

13. Dosya İzinlerini Ayarlayın

Laravel’in storage ve bootstrap/cache dizinlerine yazma erişimine ihtiyacı vardır.

sudo chown -R www-data:www-data storage bootstrap/cache

sudo chmod -R 775 storage bootstrap/cache

14. Nginx’i Yapılandırın

Yeni bir sanal ana bilgisayar yapılandırması oluşturun:

sudo nano /etc/nginx/sites-available/learn-vm

Aşağıdaki yapılandırmayı yapıştırın:

server {
    listen 80;
    server_name YOUR_VM_PUBLIC_IP;

    root /var/www/html/learn-vm/public;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

YOUR_VM_PUBLIC_IP kısmını sunucunuzun genel IP adresi ile değiştirin.


15. Siteyi Etkinleştirin

sudo ln -s /etc/nginx/sites-available/learn-vm /etc/nginx/sites-enabled/

16. Apache’yi Durdurun (Eğer Yüklenmişse)

Eğer Apache halihazırda 80 portunu kullanıyorsa, öncelikle durdurun.

sudo systemctl stop apache2

17. Nginx Yapılandırmasını Test Edin

sudo nginx -t

Her şey yolundaysa, Nginx’i yeniden yükleyin:

sudo systemctl reload nginx

PHP-FPM’i yeniden başlatın:

sudo systemctl restart php8.3-fpm

18. Uygulamanızı Açın

Tarayıcınızda sunucunuzun genel IP adresini ziyaret edin:

http://YOUR_VM_PUBLIC_IP

Laravel uygulamanız artık başarılı bir şekilde çalışıyor olmalıdır.


Ayrıca Kontrol Edin

Uygulamanız erişilebilir değilse, gerekli portların açık olduğundan emin olun.

Açıklama Portalı → Sanal Makine → Ağ → Giden Port Kuralı Ekle

Aşağıdaki portların açık olduğundan emin olun:

Port 80 ve 443.


Problemleri Giderme

Uygulamanız yüklenmezse kontrol etmeniz gerekenler:

  • Nginx çalışıyor mu?
  • PHP-FPM çalışıyor mu?
  • MySQL çalışıyor mu?
  • 80 portu açık mı?
  • 443 portu açık mı (eğer HTTPS kullanıyorsanız)?
  • Laravel doğru dosya izinlerine sahip mi?
  • .env dosyanızda doğru veritabanı kimlik bilgileri var mı?
  • Nginx yapılandırması doğru public dizinine işaret ediyor mu?
  • php artisan config:cache komutunu çalıştırdınız mı?

Sonraki Adımlar

Tebrikler! Laravel uygulamanız artık başarıyla dağıtıldı.

Sunucunuzu üretim için hazır hale getirmek için şu adımları eklemeyi düşünün:

  • Özel bir alan adı ekleyin ve DNS kayıtlarını sunucunuzun genel IP adresine yönlendirin.

Kaynaklar

Canlı Demo

http://51.107.72.82/

Tüm Komutlar

https://user-cdn.hackclub-assets.com/019f68cc-736b-7627-b4cf-82f958d84b93/README.md


Kaynak: Orijinal Makale

Contents
  • Gereksinimler
  • 1. Sunucuyu Güncelleyin
  • 2. Nginx’i Yükleyin
  • 3. MySQL’i Yükleyin
  • 4. PHP’i Yükleyin
  • 5. Composer’ı Yükleyin
  • 6. Node.js ve NPM’i Yükleyin
  • 7. GitHub Repository’nizi Klonlayın
  • 8. Proje Bağımlılıklarını Yükleyin
  • 9. Ortam Değişkenlerini Yapılandırın
  • 10. MySQL Veritabanını Oluşturun
  • 11. Laravel’ı Yapılandırın
  • 12. Veritabanı Migrations’larını Çalıştırın
  • 13. Dosya İzinlerini Ayarlayın
  • 14. Nginx’i Yapılandırın
  • 15. Siteyi Etkinleştirin
  • 16. Apache’yi Durdurun (Eğer Yüklenmişse)
  • 17. Nginx Yapılandırmasını Test Edin
  • 18. Uygulamanızı Açın
  • Ayrıca Kontrol Edin
  • Problemleri Giderme
  • Sonraki Adımlar
  • Kaynaklar
Filament Üzerinde Bir CMS Oluşturmaya Çalıştım — Bunun Yerine Ne Yapardım
Laravel’ı Paylaşımlı Barındırmada Dağıtma (SSH Gerektirmeden)
Laravel Boost’u DDEV ile Kullanma
Neden “Soft Delete” Uygulamalarından Vazgeçip S3’ü Tercih Ettim: Fiziksel Temizleme İş Akışı Oluşturma
Laravel 11’de defer() Kullanarak API Yanıtlarımızı Tek Bir Kuyruğa Dokunmadan 3 Kat Daha Hızlı Hale Nasıl Getirdik
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Teknolojide Son Dönem Gelişmeleri: Final Swarm Kodu Açığa Çıkıyor
Sonraki Makale Acil Uyarı: Microsoft’tan ACR Stealer Saldırılarında Artış İduası

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Federal Çalışanlar Artık İş Telefonlarına TikTok İndirebiliyor
Genel
Zamanı Değiştiren Star Trek Voyager Oyununa Dört Bölümlük Genişleme Gelecek
Oyun
Floppy Disk Onuruna 1.44MB Oyun Geliştirme Yarışması
Donanım
Google 3D Emojilerini Açık Kaynağa Dönüştürüyor
Liste
Elektrikli Araçların Bu Yıl ABD’de Sonlandığı Modeller
Genel
Akıllı Kilitlerde Yüz Tanıma Teknolojisi 2026’da Ne Sunuyor?
Liste
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?