Kampanyalar

Laravel uygulamasını bulut sunucuya kurma (Nginx, PHP 8.3, MySQL)

Klasik LEMP yığını üzerinde üretim Laravel kurulumu: Nginx, PHP-FPM, MySQL, kuyruk işçisi ve zamanlanmış görevler.

Süre: 25 dk Seviye: Orta Sistem: Ubuntu 24.04 · x86 / ARM64

Gerekenler

  • REGTR bulut sunucu (Ubuntu 24.04)
  • Alan adı ve A kaydı
  • sudo yetkili kullanıcı

Adımlar

  1. 1Paketleri kur

    Ubuntu 24.04 PHP 8.3 ile gelir; Laravel'in ihtiyaç duyduğu eklentileri kur.

    sudo apt update
    sudo apt install -y nginx mysql-server unzip git php8.3-fpm php8.3-cli php8.3-mysql php8.3-mbstring php8.3-xml php8.3-curl php8.3-zip php8.3-bcmath php8.3-intl
  2. 2Composer'ı kur

    PHP bağımlılık yöneticisini sistem geneline kur.

    curl -sS https://getcomposer.org/installer -o composer-setup.php
    sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
    rm composer-setup.php
  3. 3Veritabanı oluştur

    Uygulamaya ait veritabanı ve yalnız ona yetkili bir kullanıcı aç. Parolayı kendin belirle.

    sudo mysql -e "CREATE DATABASE app CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
    sudo mysql -e "CREATE USER 'app'@'localhost' IDENTIFIED BY 'BURAYA-GUCLU-BIR-PAROLA';"
    sudo mysql -e "GRANT ALL PRIVILEGES ON app.* TO 'app'@'localhost';"
  4. 4Uygulamayı kur

    Depoyu klonla, bağımlılıkları kur, .env dosyasını düzenle (DB_DATABASE, DB_USERNAME, DB_PASSWORD) ve migration çalıştır.

    sudo mkdir -p /var/www/app && sudo chown $USER:$USER /var/www/app
    git clone https://github.com/KULLANICI/PROJE.git /var/www/app
    cd /var/www/app
    composer install --no-dev --optimize-autoloader
    cp .env.example .env && php artisan key:generate
    nano .env
    php artisan migrate --force
    sudo chown -R www-data:www-data storage bootstrap/cache
  5. 5Nginx sitesi

    Kök dizin public klasörü olmalı; gizli dosyalara erişim kapatılır.

    sudo tee /etc/nginx/sites-available/app >/dev/null <<'EOF'
    server {
        listen 80;
        server_name example.com;
        root /var/www/app/public;
        index index.php;
        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 ~ /\.(?!well-known) { deny all; }
    }
    EOF
    sudo ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/
    sudo nginx -t && sudo systemctl reload nginx
  6. 6Kuyruk işçisi ve zamanlayıcı

    Kuyruk işçisi systemd ile sürekli çalışır, zamanlayıcı dakikada bir tetiklenir. SSL için Node.js rehberindeki certbot adımını uygula.

    sudo tee /etc/systemd/system/laravel-queue.service >/dev/null <<'EOF'
    [Unit]
    Description=Laravel queue worker
    After=network.target
    
    [Service]
    User=www-data
    WorkingDirectory=/var/www/app
    ExecStart=/usr/bin/php artisan queue:work --sleep=3 --tries=3 --max-time=3600
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    EOF
    sudo systemctl enable --now laravel-queue
    (sudo crontab -u www-data -l 2>/dev/null; echo "* * * * * cd /var/www/app && php artisan schedule:run >> /dev/null 2>&1") | sudo crontab -u www-data -

İpuçları

  • .env dosyasında APP_DEBUG=false ve APP_ENV=production olduğundan emin ol; hata ayrıntıları ziyaretçiye görünmesin.
  • php artisan config:cache route:cache view:cache ile üretimde hızlanırsın.
  • MySQL'i dışarı açma; yalnız yerelden (localhost) erişilsin.

Sık sorulan sorular

Hangi plan?

Orta trafikli bir Laravel uygulaması için 2 vCPU / 4 GB AMD EPYC (Performans 2) iyi bir başlangıçtır; veritabanı büyürse ayrılmış CPU planlarına geçin.

PHP 8.4 kullanabilir miyim?

Evet, ondrej/php PPA deposuyla kurabilirsin; bu rehber Ubuntu'nun kendi deposundaki PHP 8.3 ile ilerler.

Güncelleme: 2026-10-23

Satış ve Desteğe Ulaşın

Satın almadan önce sorunuz mu var ya da mevcut hesabınızla ilgili yardım mı gerekiyor? Bizi arayın veya e-posta gönderin.

Bülten Ürün Haberleri E-postanızda

Bülten aboneliğiniz alındı.