问题描述
几周前,我在 AWS EC2 上设置了一个 MERN STACK 应用程序,它运行得非常好,直到我在 python 中编辑了一行完全不相关的行,将程序回溯到以前的版本后,应用程序继续推出状态代码 502。 Here's a link to the webpage 和 Here is the error message from web page(if you don't want to click the link)
老实说,我不知道这里发生了什么,也不知道该去哪里,就像我说的,在更改一行不相关的代码之前,这一切正常。
更多详情:
- HTTPS 是使用 Nginx / Route53 设置的
- 正在使用 PM2
- 我尝试清除 node_modules 并重新安装
- 我尝试重新安装 NPM/NodeJS
- Ubuntu t2.micro 实例
如果您能够帮助我,我将不胜感激 - 我会尽力提供帮助解决此问题所需的任何详细信息。
PM2 日志
0|server | Error: listen EADDRINUSE: address already in use :::5000
0|server | at Server.setupListenHandle [as _listen2] (node:net:1310:16)
0|server | at listenInCluster (node:net:1358:12)
0|server | at Server.listen (node:net:1445:7)
0|server | at Function.listen (/home/ubuntu/node_modules/express/lib/application.js:618:24)
0|server | at file:///home/ubuntu/backend/server.js:50:5
0|server | at ModuleJob.run (node:internal/modules/esm/module_job:154:23)
0|server | at async Loader.import (node:internal/modules/esm/loader:166:24)
0|server | at async importModuleDynamicallyWrapper (node:internal/vm/module:437:15) {
0|server | code: 'EADDRINUSE',0|server | errno: -98,0|server | syscall: 'listen',0|server | address: '::',0|server | port: 5000
0|server | }
0|server | Server running in production on port: 5000
0|server | Server running in production on port: 5000
0|server | Server running in production on port: 5000
0|server | Server running in production on port: 5000
0|server | Server running in production on port: 5000
0|server | Server running in production on port: 5000
0|server | Server running in production on port: 5000
0|server | GET /index.html 200 0.694 ms - 2735
0|server | Server running in production on port: 5000
0|server | GET /index.html 200 0.689 ms - 2735
0|server | GET /static/js/2.18e5d696.chunk.js 304 1.058 ms - -
0|server | GET /static/js/main.6eb24991.chunk.js 200 0.731 ms - 86367
0|server | GET /HARDWICKSlogoWHITE.png 200 0.709 ms - 142845
0|server | GET /index.html 304 0.442 ms - -
0|server | GET /HARDWICKS_logo.png 200 0.737 ms - 27907
listen 80 default_server;
listen 443 ssl http2 default_server;
listen [::]:80 default_server;
listen [::]:443 ssl default_server;
server_name ecommerce.benjaminhardwick.co.uk;
ssl_ciphers aNULL;
ssl_certificate data:$empty;
ssl_certificate_key data:$empty;
location / {
proxy_pass http://127.0.0.1:443;
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;
}
}
~
server {
#listen<200b> 443;
listen 443 default_server;
listen [::]:443 default_server;
server_name ecommerce.benjaminhardwick.co.uk;
access_log /home/ubuntu/frontend/server_logs/host.access.log main;
location / {
proxy_pass http://localhost:5000;
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;
root /home/ubuntu/frontend/deploy;
index index.html index.htm;
try_files $uri /index.html;
add_header x-frame-options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/Nginx/html;
}
server_tokens off;
location ~ /\.ht {
deny all;
}
}
~
错误日志:修复pm2后
0|server | GET /manifest.json 304 0.414 ms - -
0|server | GET /HARDWICKS_logo.png 304 0.327 ms - -
0|server | GET /index.html 200 0.679 ms - 2735
0|server | GET /static/js/2.18e5d696.chunk.js 200 0.680 ms - 300572
0|server | GET /static/js/main.6eb24991.chunk.js 200 0.655 ms - 86367
0|server | GET /HARDWICKSlogoWHITE.png 200 0.659 ms - 142845
0|server | GET /index.html 200 0.637 ms - 2735
0|server | GET /HARDWICKS_logo.png 200 0.649 ms - 27907
0|server | GET /index.html 200 0.658 ms - 2735
0|server | GET /index.html 200 0.703 ms - 2735
0|server | GET /index.html 200 0.680 ms - 2735
0|server | GET /index.html 200 0.646 ms - 2735
0|server | GET /static/js/main.6eb24991.chunk.js 304 0.460 ms - -
0|server | GET /index.html 200 0.639 ms - 2735
0|server | GET /static/js/2.18e5d696.chunk.js 200 0.649 ms - 300572
0|server | GET /static/js/main.6eb24991.chunk.js 200 0.649 ms - 86367
0|server | GET /static/js/main.6eb24991.chunk.js.map 200 0.662 ms - 235548
0|server | GET /index.html 200 0.624 ms - 2735
0|server | GET /HARDWICKS_logo.png 200 0.647 ms - 27907
0|server | GET /index.html 200 0.658 ms - 2735
0|server | GET /index.html 200 0.644 ms - 2735
0|server | GET /static/js/2.18e5d696.chunk.js 304 0.420 ms - -
0|server | GET /static/js/main.6eb24991.chunk.js 200 0.651 ms - 86367
0|server | GET /index.html 304 0.423 ms - -
0|server | GET /HARDWICKS_logo.png 200 0.577 ms - 27907
0|server | GET /manifest.json 304 0.402 ms - -
0|server | GET /index.html 200 0.628 ms - 2735
0|server | GET /index.html 304 0.430 ms - -
0|server | GET /index.html 200 0.647 ms - 2735
0|server | GET /index.html 200 0.641 ms - 2735
0|server | GET /index.html 200 0.626 ms - 2735
代理通行证/sites-available/default
server {
listen 80 default_server;
listen 443 ssl http2 default_server;
listen [::]:80 default_server;
listen [::]:443 ssl default_server;
server_name ecommerce.benjaminhardwick.co.uk;
ssl_ciphers aNULL;
ssl_certificate data:$empty;
ssl_certificate_key data:$empty;
location / {
proxy_pass http://127.0.0.1:443;
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;
}
}
解决方法
答案在您的日志文件中..
错误:监听 EADDRINUSE:地址已被使用 :::5000
Node 没有运行,它尝试在端口 5000 上启动,但已经有一个应用在 5000 上运行。
意思是 NGINX 正在尝试代理到您的后端应用程序,但它没有运行。