Score:0

ปัญหา Nginx 502 กับ API & php-fpm

ธง co

ฉันได้กำหนดค่าเครื่อง dev ใหม่แล้ว แต่ไม่สามารถให้ nginx ทำงานกับ API อย่างที่ควรจะเป็น ข้อผิดพลาดในปัจจุบันคือว่า 'curl localhost/api' ส่งคืนค่า 502

เจ้าภาพ:

    งินซ์
    PHP 8.1.x, php-fpm
    - ext-ctype, ext-fileinfo, ext-iconv, ext-intl, ext-libxml,
    - ext-mbstring, ext-openssl, ext-pdo, ext-simplexml
    - นักแต่งเพลง 2.x
    FOP เวอร์ชัน 1.1 (java สำหรับ pdf))
    postgresql14, postgresql14-contrib


**ล**
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;
    worker_processes อัตโนมัติ
    error_log /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"';
    
        access_log /var/log/nginx/access.log หลัก;
    
        ส่งไฟล์บน;
        tcp_nopush บน;
        tcp_nodelay บน;
        keepalive_timeout 65;
        types_hash_max_size 4096;
    
        รวม /etc/nginx/mime.types;
        แอปพลิเคชัน default_type/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;
    
            error_page 404 /404.html;
                                       

global.conf

 เป็นกลุ่ม 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 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;
    }
    ตำแหน่ง ~ \.php$ {
        กลับ 404;
    }
    error_log /var/log/nginx/mysite.com-error.log;
    access_log /var/log/nginx/mysite.com-access.log;
}
เซิร์ฟเวอร์ {
    ฟัง 80;
    รูท /var/www/mysite.com-ui;
    ที่ตั้ง /api {
        proxy_pass http://localhost:8872;
    }
    ตำแหน่ง / ผู้ดูแลระบบ {
        เขียนใหม่ ^/admin/(.+)$ /$1 ตัวแบ่ง;
        proxy_pass http://localhost:81;
        ปิด proxy_redirect;
    }
    ที่ตั้ง / {
        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;
}
เซิร์ฟเวอร์ {
    ฟัง 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
รวม 32K
drwxr-xr-x 2 รูทรูท 283 24 พฤษภาคม 06:58 น.
drwxr-xr-x 11 รูทรูท 4.0K 24 พฤษภาคม 03:34 ..
-rwxr-xr-x 1 nginx root 0 24 พฤษภาคม 03:34 access.log
-rwxr-xr-x 1 รูทรูท 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 รูทรูท 332 23 พฤษภาคม 17:28 error.log-20220524.gz
-rwxr-xr-x 1 nginx root 978 23 พฤษภาคม 18:33 mysite.com-access.log
-rwxr-xr-x 1 nginx root 0 23 พฤษภาคม 17:23 mysite.com-admin-ui-access.log
-rwxr-xr-x 1 nginx root 0 23 พฤษภาคม 17:23 mysite.com-admin-ui-error.log
-rwxr-xr-x 1 nginx root 2.6K 23 พฤษภาคม 18:33 น. mysite.com-error.log
-rwxr-xr-x 1 nginx root 2.2K 24 พฤษภาคม 08:24 mysite.com-ui-access.log
-rwxr-xr-x 1 nginx root 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 <==
    2022/05/24 08:14:50 [ฉุกเฉิน] 10638#10638: การผูก () ถึง 0.0.0.0:8872 ล้มเหลว (98: ที่อยู่ที่ใช้งานอยู่แล้ว)
    2022/05/24 08:14:50 [ฉุกเฉิน] 10638#10638: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ที่อยู่ที่ใช้งานอยู่แล้ว)
    2022/05/24 08:14:50 [ฉุกเฉิน] 10638#10638: การผูก () ถึง 0.0.0.0:81 ล้มเหลว (98: ที่อยู่ที่ใช้งานอยู่แล้ว)
    2022/05/24 08:14:50 [ฉุกเฉิน] 10638#10638: การผูก () กับ [::]:80 ล้มเหลว (98: ที่อยู่ที่ใช้งานอยู่แล้ว)
    2022/05/24 08:14:50 [ฉุกเฉิน] 10638#10638: การผูก () ถึง 0.0.0.0:8872 ล้มเหลว (98: ที่อยู่ที่ใช้งานอยู่แล้ว)
    2022/05/24 08:14:50 [ฉุกเฉิน] 10638#10638: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ที่อยู่ที่ใช้งานอยู่แล้ว)
    2022/05/24 08:14:50 [ฉุกเฉิน] 10638#10638: การผูก () ถึง 0.0.0.0:81 ล้มเหลว (98: ที่อยู่ที่ใช้งานอยู่แล้ว)
    2022/05/24 08:14:50 [ฉุกเฉิน] 10638#10638: การผูก () กับ [::]:80 ล้มเหลว (98: ที่อยู่ที่ใช้งานอยู่แล้ว)
    2022/05/24 08:14:50 [ฉุกเฉิน] 10638#10638: ยังไม่สามารถผูกได้ ()
    2022/05/24 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=บน default_server;

ยังคงเกิดข้อผิดพลาด 502 เหมือนเดิม

sudo ps aux | เกรป 'php'
ราก 2854 0.0 0.2 252816 5428 ? Ss May24 0:02 php-fpm: กระบวนการหลัก (/etc/php-fpm.conf)
อาปาเช่ 2855 0.0 0.2 252816 5132 ? S May24 0:00 php-fpm: pool www
อาปาเช่ 2856 0.0 0.2 252816 5132 ? S May24 0:00 php-fpm: pool www
อาปาเช่ 2857 0.0 0.2 252816 5132 ? S May24 0:00 php-fpm: pool www
อาปาเช่ 2858 0.0 0.2 252816 5132 ? S May24 0:00 php-fpm: pool www
อาปาเช่ 2859 0.0 0.2 252816 5132 ? S May24 0:00 php-fpm: pool www
ราก 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 flag
คุณควรลองใช้ API โดยตรงหาก API ของคุณสามารถเข้าถึงได้ผ่าน localhost คุณสามารถลองใช้อุโมงค์ SSH เพื่อทดสอบ API ของคุณโดยใช้ "curl localhost:8872/api"
Tim avatar
gp flag
Tim
"รหัสตอบกลับข้อผิดพลาดของเซิร์ฟเวอร์ HyperText Transfer Protocol (HTTP) 502 Bad Gateway ระบุว่าเซิร์ฟเวอร์ ได้รับการตอบสนองที่ไม่ถูกต้องจากเซิร์ฟเวอร์อัปสตรีม ขณะที่ทำหน้าที่เป็นเกตเวย์หรือพร็อกซี"
Ivan Shatsky avatar
gr flag
รายการที่เกี่ยวข้องจากบันทึกข้อผิดพลาด nginx อาจมีประโยชน์มาก
Santosh Baruah avatar
co flag
ฉันทดสอบ API แต่ปัญหาเดิมยังคงอยู่: curl localhost:8872/api nginx/1.20.0

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา