Nginx和Express静态位置

时间:2018-06-24 21:41:10

标签: express nginx static

我在这里研究了很多其他情况,但是没有一个解决方案对我有用。我会解释并放入代码。

我在Express中运行了两个应用程序的VPS。 应用程序1在http://localhost:3000上运行 应用2正在http://localhost:9000

上运行

我的/etc/nginx/sites-available/default是这样写的:

location / {
  proxy_pass http://localhost:3000;
  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;
}

location /votacao {  
  proxy_pass http://localhost:9000;
  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;
}

来到我的mydomain.com时,我可以毫无问题地访问第一个应用程序。但是,当我进入第二个应用程序mydomain.com/votacao时,只看到index.html,并且未加载静态文件(CSS和JS)。

当我通过ip和端口访问App 2时,例如x.x.x.x:9000,它运行正常。对于x.x.x.x:3000上的应用程序1也是一样。

第二个应用程序的文件结构:

server.js
/build
/build/index.html
/build/static/css/main.css
/build/static/js/main/.js

这是第二个应用程序的Express Server的代码。

//imports

app
  .use(express.static(path.join(__dirname, "/build")))
  .get("/votacao", function(req, res) {
    res.sendFile(path.join(__dirname, "build", "index.html"));
});

app.listen(9000);

我的index.html上有。 文件的寻址方式类似于/static/css/main.css

错误是http://mydomain.comn/votacao/static/css/main.css和所有静态文件的404。

如何使静态文件在这里工作?

0 个答案:

没有答案