Cara Deploy Laravel ke VPS Ubuntu dengan Nginx (Panduan Lengkap)

Kalau trafik aplikasi Laravel Anda mulai naik, shared hosting sering terasa lambat dan terbatas. Solusinya: pindah ke VPS. Artikel ini memandu Anda deploy Laravel ke VPS Ubuntu mem...

Cara Deploy Laravel ke VPS Ubuntu dengan Nginx (Panduan Lengkap)

Kalau trafik aplikasi Laravel Anda mulai naik, shared hosting sering terasa lambat dan terbatas. Solusinya: pindah ke VPS. Artikel ini memandu Anda deploy Laravel ke VPS Ubuntu memakai Nginx dan PHP-FPM, langkah demi langkah, cocok untuk yang baru pertama kali memakai VPS.

Prasyarat

  • VPS dengan Ubuntu (mis. 22.04) dan akses SSH root/sudo.
  • Domain yang sudah diarahkan (A record) ke IP VPS.
  • Project Laravel Anda (idealnya sudah ada di repository Git).

Langkah 1: Update Server & Install Paket Dasar

sudo apt update && sudo apt upgrade -y
sudo apt install -y nginx git unzip curl

Langkah 2: Install PHP & Ekstensi Laravel

Pasang PHP-FPM beserta ekstensi yang dibutuhkan Laravel:

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

Cek versi PHP untuk dipakai di konfigurasi Nginx nanti:

php -v

Langkah 3: Install Composer

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Langkah 4: Ambil Kode Aplikasi

cd /var/www
sudo git clone https://github.com/user/project.git laravel_app
cd laravel_app
composer install --optimize-autoloader --no-dev

Langkah 5: Konfigurasi .env

cp .env.example .env
php artisan key:generate
nano .env   # isi APP_URL, DB_DATABASE, DB_USERNAME, DB_PASSWORD, dll

Set APP_ENV=production dan APP_DEBUG=false. Lalu jalankan migrasi:

php artisan migrate --force

Langkah 6: Atur Permission

Beri kepemilikan folder ke user Nginx (www-data) dan izin tulis pada folder yang diperlukan:

sudo chown -R www-data:www-data /var/www/laravel_app
sudo chmod -R 775 /var/www/laravel_app/storage /var/www/laravel_app/bootstrap/cache

Langkah 7: Buat Server Block Nginx

Buat file konfigurasi baru:

sudo nano /etc/nginx/sites-available/laravel_app

Isi dengan konfigurasi berikut (sesuaikan domain dan versi PHP-FPM):

server {
    listen 80;
    server_name domainanda.com www.domainanda.com;
    root /var/www/laravel_app/public;

    index index.php;
    charset utf-8;

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

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

Perhatikan baris root menunjuk ke folder public, dan fastcgi_pass harus cocok dengan versi PHP-FPM Anda.

Langkah 8: Aktifkan Situs & Reload Nginx

sudo ln -s /etc/nginx/sites-available/laravel_app /etc/nginx/sites-enabled/
sudo nginx -t          # tes konfigurasi
sudo systemctl reload nginx

Aplikasi Anda kini seharusnya bisa diakses lewat domain.

Langkah 9: Pasang HTTPS Gratis (Let's Encrypt)

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d domainanda.com -d www.domainanda.com

Certbot otomatis mengatur sertifikat SSL dan memperbaruinya secara berkala.

Langkah 10: Optimasi Production

php artisan config:cache
php artisan route:cache
php artisan view:cache

Troubleshooting Singkat

  • 502 Bad Gateway: path fastcgi_pass salah โ€” cek nama socket PHP-FPM (ls /var/run/php/).
  • 500 / layar putih: cek permission storage & log di storage/logs/laravel.log.
  • 403 Forbidden: pastikan root menunjuk ke folder public, bukan root project.

Kesimpulan

Deploy Laravel ke VPS Ubuntu dengan Nginx memberi Anda performa dan kontrol jauh lebih besar dibanding shared hosting. Kuncinya: install PHP-FPM + ekstensi, arahkan root Nginx ke folder public, atur permission, lalu pasang HTTPS. Sekali terbiasa, proses ini bisa diselesaikan dalam 15โ€“20 menit untuk deployment berikutnya.

deploy laravel vps laravel nginx ubuntu cara deploy laravel ke vps setup laravel vps ubuntu laravel php-fpm nginx
Bagikan artikel
Kembali

Komentar (0)

Punya pertanyaan atau tambahan? Tulis di bawah โ€” tak perlu login.

Membalas komentarโ€ฆ batal

Belum ada komentar. Jadilah yang pertama!

๐Ÿš€ Partner Recommendation

Butuh Source Code & Aplikasi Premium?

Download aplikasi Laravel, POS, Sekolah, Klinik, ERP, dan source code siap pakai di GudangCode.

GudangCode
  • โœ” Source Code Premium
  • โœ” Sistem Siap Pakai
  • โœ” Lifetime Update
  • โœ” Membership Lifetime
  • โœ” Update Aplikasi Harian
Daftar Membership โ†’