Report this

What is the reason for this report?

Can't serve static files on my droplet running Ghost with Nginx, keep getting 404 error

Posted on October 9, 2018

I have a droplet running Ghost on Ubuntu 18.04 with Nginx. I’m trying to set up a way to serve static assets for my website, Javascript files, images, stuff like that. I’ve followed a few guides and no matter what I keep getting a 404 error when I try to access any files.

This is my Nginx configuration which is at /etc/nginx/sites-enabled/www.james-warren.com.conf

# HTTP server (non-www) -- redirect to https://James-warren.com
server {
    listen 80;
    server_name James-warren.com;
    return 301 https://www.James-warren.com$request_uri;
}

# HTTP server (www) -- redirect to https://James-warren.com
server {
    listen 80;
    server_name www.James-warren.com
    return 301 https://www.James-warren.com$request_uri;
}

# HTTPS server (www) -- redirect to https://James-warren.com -- Add HSTS header
server {
    listen 443 ssl;
    server_name www.James-warren.com;
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
    return 301 https://www.James-warren.com$request_uri;
}

server {
    listen 80;
    listen [::]:80;

    server_name www.james-warren.com;
    root /var/www/ghost/system/nginx-root;

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_pass http://127.0.0.1:2368;

    }
    # For serving static files
    location /static/ {
        root /var/www/static/;
    }

    location ~ /.well-known {
        allow all;
     }


    client_max_body_size 50m;
}

This is what my file structure looks like: https://i.imgur.com/khVc8ER.png

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Start building today

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.