多个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; } } 

应用程序加载,但所有的静态资源得到404,因为它例如查找example.com/nodeapp/css/main.css资源。

我将如何解决这个问题?

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

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

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