Deploy Aplikasi Laravel di Nginx

Konfigurasi Nginx untuk Framework Laravel bisa dibilang cukup mudah, tergantung kondisi apakah aplikasi Laravel berada di Root Direktori atau pada Subdirektori.

Konfigurasi yang sering saya implementasikan adalah:
  • Aplikasi Laravel dalam Root Direktori
  • Aplikasi Laravel dalam Subdirektori

Konfigurasinya Seperti berikut:

Pada Root Direktori
server {
        listen 80;
        root /var/www/html/laravel/public;
        index index.php index.html;
        server_name domain.com;
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }
        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;
 
        location ~ /\.ht {
                deny all;
        }
        location ~ /\.env {
                deny all;
        }
        location ~ /\.git {
                deny all;
        }
}
Pada Subdirektori

server {
        listen 80;
        root /var/www/html;
        index index.html index.php;
        server_name domain.com;
        location ^~ /sublaravel {
            alias /var/www/html/sublaravel/public;
            try_files $uri $uri/ @sublaravel;
            location ~ \.php {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.2-fpm.sock;
                fastcgi_param SCRIPT_FILENAME /var/www/html/sublaravel/public/index.php;
            }
        }
        location @sublaravel {
            rewrite /sublaravel/(.*)$ /sublaravel/index.php?/$1 last;
        }
        location ~ /\.ht {
            deny all;
        }
        location ~ /\.env {
            deny all;
        }
        location ~ /\.git {
            deny all;
        }
}

Selamat mencoba.

Default image
Ryan Rizky Diantoro
Saya seorang Linux System Administrator

Leave a Reply