Настройка конфига - NodeJS не видит css и графику

На сервере висит NGINX, раздающий статику по 80 порту из папки /usr/www/site, так же висит NodeJS на 8000 порту, который раздаёт файлы из папки /usr/www/mop. Проблема выражается так, что статика от NGINX отдаётся нормально, но при попытке использовать NodeJS-страницы я получаю только саму страницу и вижу лишь текст, но графика и css не загружаются. В консоли браузера - 404, в логах NGINX - "/usr/www/site/stylesheets/main.css" failed (2: No such file or directory), то есть, графику и css оно пытается брать из расположения статического сайта NGINX, а не с директории сервера NodeJS.

Конфиг NGINX:

server {
    listen 80;
    root /usr/www/site/;
    index index.html;
    error_page 500 502 503 504 /50x.html;
    error_page 400 401 402 403 404 /40x.html;
    location = /50x.html { 
        root /var/www/errors;
    }
    location = /40x.html { 
        root /var/www/errors;
    }
    server_name 127.0.0.1;
    location /mop {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
    }
    location / {
        root /usr/www/site/;
        autoindex off;
    }
}

Код сервера NodeJS:

const express = require('express')
const bodyParses = require('body-parser');
const path = require('path');

const { request } = require('express');

const app = express()
const port = 8000
app.listen(8000);

app.set('view engine', 'ejs');
app.use(bodyParses.urlencoded({extended: true}));

app.get('/mop', (req, res) => {
      res.render('index');
});

app.get('/mop/o-nas', (req, res) => {
  res.render('o-nas');
});
module.exports = app;

Так как я не очень разбираюсь, и, возможно, не вижу явной проблемы, то прошу помощи у вас)


Ответы (1 шт):

Автор решения: nörbörnën
server {
    listen 80;
    root /usr/www/site/;
    ...
    location / {
        try_files   $uri @mop_files;
    }
    location @mop_files {
        root /usr/www/mop/;
        try_files   $uri =404;
    }
}
→ Ссылка