Puncte:0

Problemă Nginx 502 cu API și php-fpm

drapel co

Am configurat noua mașină de dezvoltare, dar nu pot face ca nginx să lucreze cu API-ul așa cum ar trebui. Eroarea actuală este aceea „curl localhost/api” returnează un 502.

Gazdă:

    Nginx
    PHP 8.1.x, php-fpm
    - ext-ctype, ext-fileinfo, ext-iconv, ext-intl, ext-libxml,
    - ext-mbstring, ext-openssl, ext-pdo, ext-simplexml
    - compozitor 2.x
    FOP versiunea 1.1 (java pentru pdf))
    postgresql14, postgresql14-contrib


**ls**
conf.d koi-win nginx.conf.save.2
default.d.original mime.types scgi_params
fastcgi.conf mime.types.default scgi_params.default
fastcgi.conf.default nginx.conf uwsgi_params
fastcgi_params nginx.conf.default uwsgi_params.default
fastcgi_params.default nginx.conf.save win-utf
koi-utf nginx.conf.save.1

Nginx .conf

 utilizator nginx;
    worker_proceses auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;
    
    # Încărcați module dinamice. Consultați /usr/share/doc/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;
    
    evenimente {
        conexiuni_muncitor 1024;
    }
    
    http {
        log_format principal „$remote_addr - $remote_user [$time_local] „$request” '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log /var/log/nginx/access.log principal;
    
        sendfile activat;
        tcp_nopush activat;
        tcp_nodelay activat;
        keepalive_timeout 65;
        types_hash_max_size 4096;
    
        includ /etc/nginx/mime.types;
        aplicație de tip_default/octet-stream;
    
        # Încărcați fișierele de configurare modulare din directorul /etc/nginx/conf.d.
        # Consultați http://nginx.org/en/docs/ngx_core_module.html#include
        # pentru mai multe informatii.
        includ /etc/nginx/conf.d/*.conf;
    
        Server {
            asculta 80;
            asculta [::]:80;
            numele serverului  _;
            root /usr/share/nginx/html;
    
            # Încărcați fișierele de configurare pentru blocul de server implicit.
            includ /etc/nginx/default.d/*.conf;
    
            pagina de eroare 404 /404.html;
                                       

global.conf

 vim conf.d/global.conf
Server {
    asculta 8872;
    root /var/www/mysite.com-api/public;
    Locație / {
        try_files $uri /index.php$is_args$args;
    }
    locație ~ ^/(index|captcha)\.php(/|$) {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_buffer_size 256k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 512k;
        fastcgi_read_timeout 240;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $document_root;
    }
    locație ~ \.php$ {
        întoarce 404;
    }
    error_log /var/log/nginx/mysite.com-error.log;
    access_log /var/log/nginx/mysite.com-access.log;
}
Server {
    asculta 80;
    root /var/www/mysite.com-ui;
    locație /api {
        proxy_pass http://localhost:8872;
    }
    locație /admin {
        rescrie ^/admin/(.+)$ /$1 pauză;
        proxy_pass http://localhost:81;
        proxy_redirect dezactivat;
    }
    Locație / {
        try_files $uri /index.html;
    }
    error_log /var/log/nginx/mysite.com-ui-error.log;
    access_log /var/log/nginx/mysite.com-ui-access.log;
}
Server {
    asculta 81;
    root /var/www/mysite.com-admin-ui;
    Locație / {
        try_files $uri $uri/ /index.html;
    }
    error_log /var/log/nginx/mysite.com-admin-ui-error.log;
                                                            
    
    

Jurnalele:

[root@ip-10-1-15-19 nginx]# ls -lah /var/log/nginx
total 32K
drwxr-xr-x 2 rădăcină rădăcină 283 24 mai 06:58 .
drwxr-xr-x 11 root root 4.0K 24 mai 03:34 ..
-rwxr-xr-x 1 nginx root 0 24 mai 03:34 access.log
-rwxr-xr-x 1 root root 133 23 mai 17:20 access.log-20220524.gz
-rwxr-xr-x 1 nginx root 2.0K 24 mai 08:14 error.log
-rwxr-xr-x 1 root root 332 23 mai 17:28 error.log-20220524.gz
-rwxr-xr-x 1 nginx root 978 23 mai 18:33 mysite.com-access.log
-rwxr-xr-x 1 nginx root 0 23 mai 17:23 mysite.com-admin-ui-access.log
-rwxr-xr-x 1 nginx root 0 23 mai 17:23 mysite.com-admin-ui-error.log
-rwxr-xr-x 1 nginx root 2.6K 23 mai 18:33 mysite.com-error.log
-rwxr-xr-x 1 nginx root 2.2K 24 mai 08:24 mysite.com-ui-access.log
-rwxr-xr-x 1 nginx root 1008 23 mai 17:32 mysite.com-ui-error.log
[root@ip-10-1-15-19 nginx]# tail -f /var/log/nginx/access.log

Jurnalele Nginx

      sudo tail -f /var/log/nginx/access.log /var/log/nginx/error.log
    ==> /var/log/nginx/access.log <==
    
    ==> /var/log/nginx/error.log <==
    2022/05/24 08:14:50 [emerg] 10638#10638: bind() to 0.0.0.0:8872 a eșuat (98: Adresă deja utilizată)
    2022/05/24 08:14:50 [emerg] 10638#10638: bind() to 0.0.0.0:80 a eșuat (98: Adresă deja utilizată)
    2022/05/24 08:14:50 [emerg] 10638#10638: bind() to 0.0.0.0:81 a eșuat (98: Adresă deja utilizată)
    2022/05/24 08:14:50 [emerg] 10638#10638: bind() to [::]:80 nu a reușit (98: Adresă deja utilizată)
    2022/05/24 08:14:50 [emerg] 10638#10638: bind() to 0.0.0.0:8872 a eșuat (98: Adresă deja utilizată)
    2022/05/24 08:14:50 [emerg] 10638#10638: bind() to 0.0.0.0:80 a eșuat (98: Adresă deja utilizată)
    2022/05/24 08:14:50 [emerg] 10638#10638: bind() to 0.0.0.0:81 a eșuat (98: Adresă deja utilizată)
    2022/05/24 08:14:50 [emerg] 10638#10638: bind() to [::]:80 nu a reușit (98: Adresă deja utilizată)
    2022/05/24 08:14:50 [emerg] 10638#10638: încă nu s-a putut lega ()
    2022/05/24 14:12:14 [notificare] 2911#2911: procesul de semnal a început

sudo netstat -plant | grep 80

tcp 0 0 0.0.0.0:80 0.0.0.0:* ASCULTĂ 2769/nginx: master
tcp6 0 0 :::80 :::* ASCULTĂ 2769/nginx: master

# pentru mai multe informatii.

 includ /etc/nginx/conf.d/*.conf;

    Server {
        asculta 80;
        asculta [::]:80;
        numele serverului  _;
        root /usr/share/nginx/html;

a făcut această modificare în config

asculta 80;
asculta [::]:80 ipv6only=on default_server;

apare aceeași eroare 502.

sudo ps aux | grep 'php'
rădăcină 2854 0,0 0,2 252816 5428 ? Ss 24 mai 0:02 php-fpm: proces principal (/etc/php-fpm.conf)
apache 2855 0,0 0,2 252816 5132 ? S 24 mai 0:00 php-fpm: pool www
apache 2856 0,0 0,2 252816 5132 ? S 24 mai 0:00 php-fpm: pool www
apache 2857 0,0 0,2 252816 5132 ? S 24 mai 0:00 php-fpm: pool www
apache 2858 0,0 0,2 252816 5132 ? S 24 mai 0:00 php-fpm: pool www
apache 2859 0,0 0,2 252816 5132 ? S 24 mai 0:00 php-fpm: pool www
root 7230 0,0 0,0 119420 988 puncte/0 S+ 06:53 0:00 grep --color=auto PHP

Există o posibilitate să existe o problemă cu fișierul conf.d/global.conf, aruncarea lui 502?

poate cineva să sugereze cum să depanați sau să o remediați?

Roid avatar
drapel cg
Ar trebui să încercați să consumați API-ul direct dacă API-ul este accesibil prin localhost, puteți încerca să utilizați un tunel SSH pentru a vă testa API-ul folosind „curl localhost:8872/api”
Tim avatar
drapel gp
Tim
„Codul de răspuns la eroarea serverului 502 Bad Gateway HyperText Transfer Protocol (HTTP) indică faptul că serverul, deși acționa ca gateway sau proxy, a primit un răspuns nevalid de la serverul din amonte.”
Ivan Shatsky avatar
drapel gr
Intrarea corespunzătoare din jurnalul de erori nginx ar putea fi de mare ajutor.
Santosh Baruah avatar
drapel co
Testez API-ul, dar aceeași problemă persistă: curl localhost:8872/api nginx/1.20.0

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.