получить ошибку 502. Сервер приложений не работает - PullRequest
0 голосов
/ 07 июня 2019

Наш сервер внезапно вышел из строя сегодня. Вместо того, чтобы войти в систему, я просто получаю сообщение о том, что сеть не работает.

Я использовал POSTMAN, чтобы найти дополнительную информацию. POSTMAN возвращает ошибку 502 неверного шлюза.

Стек сервера в данный момент:

-Сервер ОС - Ubuntu 16.04

-Веб-сервер - NGINX

Серверное приложение - Loopback.js и PM2

Я перезапустил серверное приложение с pm2 start all, но это не решило проблему.

Затем я попытался перезапустить nginx через service nginx reload, в результате

==== АУТЕНТИФИКАЦИЯ ДЛЯ org.freedesktop.systemd1.manage-units === Аутентификация необходима для перезагрузки 'nginx.service'. Проверка подлинности как: Ubuntu (someapp) Пароль: ==== АУТЕНТИФИКАЦИЯ ЗАВЕРШЕНА ===

, что также не решило проблему.

Далее я попробовал sudo nginx, что привело к следующему сообщению:

nginx: [emerg] bind () to 0.0.0.0:80 не удалось (98: адрес уже в используйте) nginx: [emerg] bind () до 0.0.0.0:443 не удалось (98: адрес уже используется) nginx: [emerg] bind () до 0.0.0.0:80 не удалось (98: адрес уже используется) nginx: [emerg] bind () до 0.0.0.0:443 не удалось (98: Адрес уже используется) nginx: [emerg] bind () до 0.0.0.0:80 не удалось (98: адрес уже используется) nginx: [emerg] bind () до 0.0.0.0:443 не удалось (98: адрес уже используется) nginx: [emerg] bind () to 0.0.0.0:80 не удалось (98: адрес уже используется) nginx: [emerg] bind () до 0.0.0.0:443 не удалось (98: адрес уже используется) nginx: [emerg] ошибка bind () до 0.0.0.0:80 (98: адрес уже используется) nginx: [emerg] bind () до 0.0.0.0:443 не удалось (98: адрес уже используется) nginx: [emerg] все еще не может связать ()

Этот пост пролил некоторый свет на проблему, но я не уверен, как действовать с этой точки.

Я побежал grep -r listen /etc/nginx/*

и получил это:

/etc/nginx/conf.d/default.conf:    listen       80;
/etc/nginx/conf.d/default.conf:    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
/etc/nginx/conf.d/default.conf:    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
/etc/nginx/sites-available/default:    listen 80; # managed by Certbot
/etc/nginx/sites-available/default:    listen 443 ssl;
/etc/nginx/sites-available/default:    listen 80; # managed by Certbot
/etc/nginx/sites-available/default:    listen 443 ssl;
/etc/nginx/sites-available/default.bak:    listen 443 ssl; # managed by Certbot
/etc/nginx/sites-available/default.bak:    listen 443 ssl; # managed by Certbot
/etc/nginx/sites-available/default.bak: listen 80;
/etc/nginx/sites-available/default.bak: listen 80;
/etc/nginx/sites-available/default.80.bak:    listen 80; # managed by Certbot
/etc/nginx/sites-available/default.80.bak:    listen 80; # managed by Certbot

sudo netstat -tulpn

привело к

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:29131         0.0.0.0:*               LISTEN      2906/mdsd           
tcp        0      0 127.0.0.1:587           0.0.0.0:*               LISTEN      2084/master         
tcp        0      0 0.0.0.0:25324           0.0.0.0:*               LISTEN      89828/ruby          
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      64005/nginx: master 
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      29487/systemd-resol 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1520/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2084/master         
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      64005/nginx: master 
tcp6       0      0 ::1:587                 :::*                    LISTEN      2084/master         
tcp6       0      0 :::21                   :::*                    LISTEN      1526/vsftpd         
tcp6       0      0 :::22                   :::*                    LISTEN      1520/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      2084/master         
udp        0      0 127.0.0.53:53           0.0.0.0:*                           29487/systemd-resol 
udp        0      0 0.0.0.0:68              0.0.0.0:*                           958/dhclient        
udp        0      0 127.0.0.1:25224         0.0.0.0:*                           89828/ruby 

Я осмотрел файлы, перечисленные в

grep -R default_server / etc / nginx

В нем перечислены 3 разных файла.

default default.80.bak default.bak

должно быть 3 версии файла по умолчанию?

Я хотел убедиться, что nginx действительно работает

nginx.service - nginx - high performance web server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-06-07 02:29:52 UTC; 12min ago
     Docs: http://nginx.org/en/docs/
  Process: 73013 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=1/FAILURE)
  Process: 63882 ExecReload=/bin/kill -s HUP $MAINPID (code=exited, status=0/SUCCESS)
  Process: 78326 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
 Main PID: 78334 (nginx)
    Tasks: 2 (limit: 4029)
   CGroup: /system.slice/nginx.service
           ├─78334 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
           └─78337 nginx: worker process

Jun 07 02:29:52 some-server systemd[1]: Starting nginx - high performance web server...
Jun 07 02:29:52 some-server systemd[1]: nginx.service: Can't open PID file /var/run/nginx.pid (yet?) after start: No such fi
Jun 07 02:29:52 some-server systemd[1]: Started nginx - high performance web server.

вот результат less /var/log/nginx/error.log

2019/06/07 02:51:39 [error] 78337#78337: *34 connect() failed (111: Connection refused) while connecting to upstream,
 client: 201.92.190.140, server: someunion.com, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:3000/",
  host: "xx.xxx.xxx.xx:80"

Вот результат sudo lsof -i TCP:80

COMMAND   PID  USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
nginx   91299  root    6u  IPv4 77726277      0t0  TCP *:http (LISTEN)
nginx   91301 nginx    6u  IPv4 77726277      0t0  TCP *:http (LISTEN)
...