0

I am having issues trying to setup a second set of locations for my Nginx Setup. I currently have 1 working route, that uses reverse proxy to a NodeJS Express server.

I am tryin to setup a second location to serve a laravel project, here is my Nginx config file, I know there are some errors, but after googling I coulnd't find an answer on my own.

Thanks

server {
        listen 443 http2 ssl;
        listen [::]:443 http2 ssl;
        server_name some.server.com

        ssl on;
        ssl_certificate /etc/letsencrypt/live/some.server.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/some.server.com/privkey.pem;

        # This doesnt work, its a laravel project
        # Theres something wrong with my try_files
        location /project2 {
                root /home/ubuntu/project2/public/;
                try_files $uri $uri/ /index.php?$query_string;
        }

        # This works, I am reverse proxying to NodeJS Application
        location / {
                proxy_pass http://localhost:3001;
                proxy_set_header Host $http_host;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
        }
}

1 Answer 1

1

You need to add something to the /project2 that tells nginx how to handle php files. a block that will know what to do with

I grabbed the following from here. I updated your location regex, though I haven't tested, so you may need to fix it (everything about nginx is trial and error until it works):

location ~* /project2/(.*\.php)$ {
    root /home/ubuntu/project2/public/;
    try_files $1 $1/ $1/index.php?$query_string;

    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

You are serving from /home/ubuntu/project2/public/, but your php urls end with project2, so you need to do a bit of regex magic to extract the proper url.

Of course, if you can make things simpler with your directory structure, you can use a simpler regex.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.