Wednesday, February 16, 2022

[SOLVED] Deployment of Laravel project on Debian 9 using nginx

Issue

I try to deploy my Laravel project from localhost to Debian server using nginx. First of all, i followed this tutorial href="https://www.digitalocean.com/community/tutorials/how-to-deploy-a-laravel-application-with-nginx-on-ubuntu-16-04#prerequisites" rel="nofollow noreferrer">LINK. Ended at the end of 5. chapter. I did not get any errors. Also I successfully connect Laravel project with server DB. I use Laravel version 6, so when i was modifying newly created config file on /etc/nginx/sites-available/myFile I used laravel's deployment tutorial LINK. As my server does not have any domain, I've got only IP available. Screenshot of my config file: Config file

When I try to open server page using IP, i got error "This page isn't working". It's because i deleted nginx's default file from sites-enabled. Before, i deleted the default file, i got only default home page of nginx.

I tried to change server_name like server_name _;, server_name "";, server_name IP. After all changes i restarted nginx server.

Any help how to run my Laravel project please? Thank you!!

EDIT: route to project: /var/www/html/OciNaCeste/BP_final


Solution

  1. Please use the following configuration
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    server_name localhost;
    root /var/www/html/OciNaCeste/BP_final/public;
    index index.php index.html index.htm;

    location / {
         try_files $uri $uri/ /index.php$is_args$args;
    }

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

    location ~ /\.ht {
        deny all;
    }
}

  1. Then restart nginx


Answered By - Christophe Hubert
Answer Checked By - Gilberto Lyons (WPSolving Admin)