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
İmkânsızı İnşa Etmek: PHP, Next.js ve AI ile İki Karmaşık Platform Nasıl Oluşturdum
Ekran Görüntüsü Tabanlı Vibe Kodlama: Yapay Zeka İş Akışınızın Neden Bir Sözlük Aşamasına İhtiyacı Var
Bu Hafta İşte Geliştirdiğim Bir İş Akışı Motoru Hakkında Düşüncelerim
Laravel AI SDK ile Sesli Yazıya Dönüştürme Uygulaması Nasıl Yapılır
Laravel Queue ve defer(): Her Birini Ne Zaman Kullanmalı (Laravel 11, 12 ve 13)
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

Prompt Injection Saldırıları: AI Hack’lerini Nasıl Durduruyor?
Genel
GoPro Max 2 Paketiyle Birlikte 100 Dolarlık Aksesuar Hediyesi!
Liste
Nvidia CEO’su Jensen Huang’ın deri ceketinde 1 Milyon $ ciddi bağış!
Donanım
600 Mil Yolculuk Elektrikli Araç Şarjını Artık Kolaylaştırıyor
Genel
Ocarina of Time ile Yaşanan Korku ve Nostalji
Liste
Acil Uyarı: Microsoft’tan ACR Stealer Saldırılarında Artış İduası
Siber Güvenlik
//

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?