同一服务器上有多个 node.js 应用程序

同一服务器上有多个 node.js 应用程序

我有 nginx 托管由 jekyll 生成的静态站点实例。

我在端口 4000 上添加了一个 nodejs 应用程序,并按照DigitalOcean 上的本教程

server {
  listen    80;

  root /usr/share/nginx/html/example.com;
  index index.html index.htm;

  server_name example.com;
  charset utf-8;

  location /nodeapp/ {
    proxy_pass http://localhost:4000/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }
}

example.com/nodeapp/css/main.css应用程序加载,但所有静态资源都出现 404,因为它在例如处查找资源。

我该如何修复这个问题?

答案1

您可以在任何代理逻辑之前添加以下内容,并将资产存储在机器上其他位置的目录中:

location /static {
    alias /location/for/all/static/assets;
}

然后,在您的应用中,将“/static”作为所有静态资产的前缀。

相关内容