微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AWS EC2 t2.micro 无法加载网页并抛出 502MERN 应用程序

如何解决AWS EC2 t2.micro 无法加载网页并抛出 502MERN 应用程序

几周前,我在 AWS EC2 上设置了一个 MERN STACK 应用程序,它运行得非常好,直到我在 python 中编辑了一行完全不相关的行,将程序回溯到以前的版本后,应用程序继续推出状态代码 502。 Here's a link to the webpageHere 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 正在尝试代理到您的后端应用程序,但它没有运行。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。