【发布时间】:2020-02-14 14:12:28
【问题描述】:
在运行npm run build 命令后,我最近能够将节点服务器与我的 react 应用程序连接起来。当使用node server 在本地运行我的应用程序时,将构建文件夹添加到我的公用文件夹后一切正常。 (我使用create-react-app 创建了这个应用程序,除了将构建移入公共并在主目录中创建server.js 之外,没有更改目录结构)
但是,当我将这些更改推送到我的 NGINX Web 服务器时,我收到 502 bad gateway 错误。 在添加构建文件夹之前,我的服务器运行良好,只是没有呈现 JSX 元素。现在我可以只使用 node 命令在本地渲染,但我的在线服务器完全关闭了。
这里是server.js的代码
const express = require('express');
const path = require('path');
const app = express();
app.use('/js', express.static(path.join(__dirname, 'src/')));
app.use('/css', express.static(path.join(__dirname, 'src/')));
app.use(express.static(path.join(__dirname , '/public/build')));
// Handles any requests that don't match the ones above
app.get('/', (req,res) =>{
console.log('get root')
res.sendFile(path.join(__dirname , "/public/build/index.html"));
});
const port = process.env.PORT || 5000;
app.listen(port);
console.log('App is listening on port ' + port);
这里是错误日志
2020/02/13 05:03:22 [error] 7422#7422: *4468 connect() failed (111: Connection refused) while connecting to upstream, client: 162.84.158.175, server: anthonyjimenez.me, request: "GET / HTTP/2.0", upstream: "http://127.0.0.1:3000/", host: "anthonyjimenez.me"
2020/02/13 05:25:51 [error] 7422#7422: *4477 connect() failed (111: Connection refused) while connecting to upstream, client: 162.84.158.175, server: anthonyjimenez.me, request: "GET / HTTP/2.0", upstream: "http://127.0.0.1:3000/", host: "anthonyjimenez.me"
【问题讨论】:
-
Nginx 无法连接到上游。从 nginx 服务器尝试
curl <node-server-ip>:3000以检查它是否能够连接到节点的服务器,请更新我 Nginx 和节点是否在同一台机器上? -
@Shubhamoli 节点和 Nginix 在同一台机器上,我之前能够在我的服务器上运行其他应用程序和这个应用程序。服务器中是否有任何特定位置可以运行此命令?
-
获取页面时你的Node服务器是否在运行?......你可以通过
ps -ef | grep node确认查看Node是否在运行