【发布时间】:2021-07-15 22:44:29
【问题描述】:
我是一名 AWS 初学者,并尝试将 MERN 应用程序部署到 AWS EC2 实例。我之前已经在 Heroku 上成功部署了它,现在正在迁移到 AWS。
我按照步骤指向我的 DNS 并成功设置了 Nginx、SSL 和 pm2。当我进入我的域时,返回 500 错误。
错误信息是:
Error: Can't find / on this server!
at /home/ubuntu/cloud_v2/app.js:49:9
当找不到路由时,这是我在 Node 中的错误消息。但是,“路由”只是主页的/,并且肯定在服务器上。
Nginx 正在运行,这些是日志:
2021/04/21 11:18:06 [notice] 28925#28925: signal process started
2021/04/21 11:30:53 [error] 28929#28929: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 54.221.27.173, server: arriveanywhere.xyz, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "arriveanywhere.xyz"
2021/04/21 11:54:07 [notice] 29971#29971: signal process started
2021/04/21 16:41:15 [notice] 31724#31724: signal process started
2021/04/21 16:41:19 [notice] 31726#31726: signal process started
2021/04/21 16:41:22 [notice] 31728#31728: signal process started
2021/04/21 16:42:03 [notice] 31730#31730: signal process started
2021/04/21 16:42:49 [notice] 31735#31735: signal process started
2021/04/21 16:45:49 [notice] 31756#31756: signal process started
今天早上失败了一次,但从那以后一直显示“信号过程开始”。
我的端口是:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN -
tcp 0 0 172.31.11.76:54132 3.232.124.90:27017 ESTABLISHED 29944/server.js
tcp 0 0 172.31.11.76:54128 3.232.124.90:27017 ESTABLISHED 29944/server.js
tcp 0 0 172.31.11.76:40442 3.224.254.52:27017 ESTABLISHED 29944/server.js
tcp 0 604 172.31.11.76:22 69.249.187.35:50408 ESTABLISHED -
tcp 0 0 172.31.11.76:54124 3.232.124.90:27017 ESTABLISHED 29944/server.js
tcp 0 0 172.31.11.76:58498 34.197.51.246:27017 ESTABLISHED 29944/server.js
tcp 0 0 172.31.11.76:40428 3.224.254.52:27017 ESTABLISHED 29944/server.js
tcp 0 0 172.31.11.76:54138 3.232.124.90:27017 ESTABLISHED 29944/server.js
tcp 0 0 172.31.11.76:54126 3.232.124.90:27017 ESTABLISHED 29944/server.js
tcp 0 0 172.31.11.76:58484 34.197.51.246:27017 ESTABLISHED 29944/server.js
tcp 0 0 172.31.11.76:54130 3.232.124.90:27017 ESTABLISHED 29944/server.js
tcp6 0 0 :::8080 :::* LISTEN 29944/server.js
tcp6 0 0 :::22 :::* LISTEN -
8080是节点监听的,也是Nginx配置监听的。
如果我从邮递员那里拨打http://127.0.0.1:8080/,它可以工作。
我正在从我的 React 文件夹中的构建文件中提供我的页面
if(process.env.NODE_ENV === "production") {
app.use(express.static(path.join(__dirname, 'react/build')));
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname+'/react/build/index.html'));
});
}
如果有人能帮我解决这个问题,我将不胜感激!也很乐意提供更多信息。谢谢。
【问题讨论】:
标签: node.js reactjs amazon-web-services nginx