Обслуживание статических файлов nodejs в том же домене, что и мой PHP

У меня есть веб-сайт, работающий на PHP, но также у меня есть приложение NodeJS, работающее в том же домене. Адрес NodeJs — /nodejs, все остальные запросы — под PHP.

  • Проект PHP, расположенный в папке /home/php-project
  • Папка статических файлов PHP /home/php-project/public
  • NodeJS находится в - /home/nodejs-project.
  • Папка статических файлов NodeJS /home/nodejs-project/public

Можно ли обслуживать разные статические папки?

Вот мой код NodeJs

app.use(express.static(__dirname + '/public'));

В настоящее время все статические файлы поступают из статической папки php, и я не могу получить доступ к статическим файлам nodejs.

Вот конфиг нгинкс

server {
    listen         80;
    server_name    www.example.com example.com;
    return         301 https://www.example.com$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com;

   #### Comodo SSL
    ssl_certificate path/to;
    ssl_certificate_key path/to;

    return 301 https://www.example.com$request_uri;
}

server {

    listen 443 ssl;
    server_name   www.example.com;

    #### Comodo SSL
    ssl_certificate path/to;
    ssl_certificate_key path/to;

    root /home/php-project/public;
    index index.php;


    location / {
        autoindex off;
        try_files $uri $uri/ /index.php?$query_string;
    }

    location /node-js {
        proxy_pass http://localhost:5555;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
        root /home/node-js;   
    }


} #### End server setup

person WhatIsHTML    schedule 09.08.2018    source источник


Ответы (1)


Попробуй это:

location / {
  root /home/php-project/public;
  try_files $uri $uri/ /index.php?$query_string @fallback;
}

location @fallback {
  root /home/nodejs-project/public;
  try_files $uri $uri/ =404;
}
person Dan Nagle    schedule 09.08.2018