Рейтинг:0

Nginx 502 Проблема с API и php-fpm

флаг co

Я настроил новую машину разработчика, но не могу заставить nginx работать с API, как предполагалось. Текущая ошибка заключается в том, что 'curl localhost/api' возвращает 502.

Хозяин:

    Nginx
    PHP 8.1.x, php-fpm
    - ext-ctype, ext-fileinfo, ext-icv, ext-intl, ext-libxml,
    - ext-mbstring, ext-openssl, ext-pdo, ext-simplexml
    - композитор 2.x
    FOP версии 1.1 (java для pdf))
    postgresql14, postgresql14-вклад


**лс**
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

 пользователь nginx;
    рабочие_процессы авто;
    журнал_ошибок /var/log/nginx/error.log;
    pid /run/nginx.pid;
    
    # Загрузить динамические модули. См. /usr/share/doc/nginx/README.dynamic.
    включить /usr/share/nginx/modules/*.conf;
    
    События {
        worker_connections 1024;
    }
    
    http {
        log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                          '$статус $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        журнал_доступа /var/log/nginx/access.log основной;
    
        отправить файл включен;
        tcp_nopush включен;
        tcp_nodelay включен;
        keepalive_timeout 65;
        типы_хэш_макс_размер 4096;
    
        включить /etc/nginx/mime.types;
        default_type application/octet-stream;
    
        # Загрузите файлы модульной конфигурации из каталога /etc/nginx/conf.d.
        # См. http://nginx.org/en/docs/ngx_core_module.html#include
        # для дополнительной информации.
        включить /etc/nginx/conf.d/*.conf;
    
        сервер {
            слушать 80;
            слушать [::]:80;
            имя сервера  _;
            корень /usr/share/nginx/html;
    
            # Загрузить файлы конфигурации для блока сервера по умолчанию.
            включить /etc/nginx/default.d/*.conf;
    
            страница_ошибки 404 /404.html;
                                       

глобальный.conf

 vim conf.d/global.conf
сервер {
    слушать 8872;
    корень /var/www/mysite.com-api/public;
    место расположения / {
        try_files $uri /index.php$is_args$args;
    }
    расположение ~ ^/(индекс|капча)\.php(/|$) {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        включить fastcgi_params;
        fastcgi_buffer_size 256 КБ;
        fastcgi_buffers 4 256 КБ;
        fastcgi_busy_buffers_size 512 КБ;
        fastcgi_read_timeout 240;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $document_root;
    }
    расположение ~ \.php$ {
        вернуть 404;
    }
    error_log /var/log/nginx/mysite.com-error.log;
    журнал_доступа /var/log/nginx/mysite.com-access.log;
}
сервер {
    слушать 80;
    корень /var/www/mysite.com-ui;
    расположение /API {
        proxy_pass http://localhost:8872;
    }
    местоположение/администратор {
        переписать ^/admin/(.+)$ /$1 break;
        proxy_pass http://localhost:81;
        прокси_перенаправление выключено;
    }
    место расположения / {
        try_files $uri /index.html;
    }
    error_log /var/log/nginx/mysite.com-ui-error.log;
    журнал_доступа /var/log/nginx/mysite.com-ui-access.log;
}
сервер {
    слушать 81;
    корень /var/www/mysite.com-admin-ui;
    место расположения / {
        try_files $uri $uri//index.html;
    }
    error_log /var/log/nginx/mysite.com-admin-ui-error.log;
                                                            
    
    

Журналы:

[root@ip-10-1-15-19 nginx]# ls -lah /var/log/nginx
всего 32К
drwxr-xr-x 2 root root 283 24 мая 06:58 .
drwxr-xr-x 11 root root 4.0K 24 мая 03:34 ..
-rwxr-xr-x 1 nginx root 0 24 мая 03:34 access.log
-rwxr-xr-x 1 root root 133 23 мая 17:20 access.log-20220524.gz
-rwxr-xr-x 1 nginx root 2.0K 24 мая 08:14 error.log
-rwxr-xr-x 1 root root 332 23 мая 17:28 error.log-20220524.gz
-rwxr-xr-x 1 корень nginx 978 23 мая 18:33 mysite.com-access.log
-rwxr-xr-x 1 корень nginx 0 23 мая 17:23 mysite.com-admin-ui-access.log
-rwxr-xr-x 1 корень nginx 0 23 мая 17:23 mysite.com-admin-ui-error.log
-rwxr-xr-x 1 корень nginx 2.6K 23 мая 18:33 mysite.com-error.log
-rwxr-xr-x 1 корень nginx 2.2K 24 мая 08:24 mysite.com-ui-access.log
-rwxr-xr-x 1 корень nginx 1008 23 мая 17:32 mysite.com-ui-error.log
[root@ip-10-1-15-19 nginx]# tail -f /var/log/nginx/access.log

Журналы Nginx

      sudo tail -f /var/log/nginx/access.log /var/log/nginx/error.log
    ==> /var/log/nginx/access.log <==
    
    ==> /var/log/nginx/error.log <==
    24.05.2022, 08:14:50 [появление] 10638#10638: сбой привязки () к 0.0.0.0:8872 (98: адрес уже используется)
    24.05.2022, 08:14:50 [появление] 10638#10638: сбой привязки () к 0.0.0.0:80 (98: адрес уже используется)
    24.05.2022, 08:14:50 [появление] 10638#10638: сбой привязки () к 0.0.0.0:81 (98: адрес уже используется)
    24.05.2022, 08:14:50 [появление] 10638#10638: bind() to [::]:80 не удалось (98: адрес уже используется)
    24.05.2022, 08:14:50 [появление] 10638#10638: сбой привязки () к 0.0.0.0:8872 (98: адрес уже используется)
    24.05.2022, 08:14:50 [появление] 10638#10638: сбой привязки () к 0.0.0.0:80 (98: адрес уже используется)
    24.05.2022, 08:14:50 [появление] 10638#10638: сбой привязки () к 0.0.0.0:81 (98: адрес уже используется)
    24.05.2022, 08:14:50 [появление] 10638#10638: bind() to [::]:80 не удалось (98: адрес уже используется)
    24.05.2022, 08:14:50 [появление] 10638#10638: до сих пор не удалось связать()
    24.05.2022, 14:12:14 [уведомление] 2911#2911: начался сигнальный процесс

sudo netstat-завод | группа 80

TCP 0 0 0.0.0.0:80 0.0.0.0:* ПРОСЛУШИВАТЬ 2769/nginx: мастер
tcp6 0 0 :::80 :::* ПРОСЛУШИВАТЬ 2769/nginx: мастер

# для дополнительной информации.

 включить /etc/nginx/conf.d/*.conf;

    сервер {
        слушать 80;
        слушать [::]:80;
        имя сервера  _;
        корень /usr/share/nginx/html;

это изменение в конфиге

слушать 80;
слушать [::]:80 ipv6only=on default_server;

все равно возникает та же ошибка 502.

sudo ps вспомогательный | grep 'php'
корень 2854 0,0 0,2 252816 5428 ? Сс 24 мая 0:02 php-fpm: главный процесс (/etc/php-fpm.conf)
апач 2855 0.0 0.2 252816 5132 ? S May24 0:00 php-fpm: пул www
апач 2856 0.0 0.2 252816 5132 ? S May24 0:00 php-fpm: пул www
апач 2857 0.0 0.2 252816 5132 ? S May24 0:00 php-fpm: пул www
апач 2858 0.0 0.2 252816 5132 ? S May24 0:00 php-fpm: пул www
апач 2859 0.0 0.2 252816 5132 ? S May24 0:00 php-fpm: пул www
root 7230 0.0 0.0 119420 988 pts/0 S+ 06:53 0:00 grep --color=auto PHP

Есть ли вероятность, что есть какая-то проблема с файлом conf.d/global.conf, его выдает 502?

кто-нибудь может подсказать, как устранить неполадки или исправить это?

Roid avatar
флаг cg
Вам следует попробовать использовать API напрямую, если ваш API доступен через локальный хост, вы можете попробовать использовать туннель SSH для проверки вашего API с помощью «curl localhost: 8872/api»
Tim avatar
флаг gp
Tim
«Код ответа об ошибке сервера HyperText Transfer Protocol (HTTP) 502 Bad Gateway указывает на то, что сервер, выступая в качестве шлюза или прокси-сервера, получил недопустимый ответ от вышестоящего сервера».
Ivan Shatsky avatar
флаг gr
Соответствующая запись из журнала ошибок nginx может быть очень полезной.
Santosh Baruah avatar
флаг co
Я тестирую API, но та же проблема сохраняется: curl localhost:8872/api нгинкс/1.20.0

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.