Snippets

Nginx Default Configuration for Laravel

Posted by I. B. Gd Pramana A. Putra, 28 Jun 22, last updated 17 Jul 22

server {
    listen 80;
    listen [::]:80;
    server_name example.com;
    root /var/www/example.com/htdocs/public;
 
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";
 
    index index.php;
 
    charset utf-8;
 
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
 
    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }
 
    error_page 404 /index.php;
 
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
 
    location ~ /\.(?!well-known).* {
        deny all;
    }
}

Please change the following line according to your need:.

  • server_name example.com replace example.com with actual domain that you use.
  • /var/www/example.com/htdocs/public replace the directory path with the actual directory path of your Laravel application n.
  • /var/run/php/php8.0-fpm.sock replace 8.0 with the actual PHP server installed in your server.

This configuration only cover the HTTP access served by Nginx for your Laravel app.

I love sharing code snippets as most of the time, a quick code example is what we're looking for instead of long-written articles. If you think my code snippets are helpful and save you a lot of time, please consider buying me a cup of coffee :)

Support me via · paypal · buymeacoffee · ko-fi · trakteer
Contributed Snippets
Answer & Responses
    No comments yet

Wanna write a response?

You have to login before write a comment to this post.