[Help] Mọi người cho e hỏi về lỗi của php-fpm với ạ

Discussion in 'Hỏi Đáp Kỹ Thuật' started by Newbie88, Jul 5, 2021.

  1. Newbie88

    Newbie88 Tân Thủ Thôn

    Server của e bị full load do thằng php-fpm chạy, bị tèo liên toại, Bác nào biết lỗi này chỉ em cách fix với ạ :(
    E thử nâng php lên rồi nhưng vẫn vậy ạ


    [​IMG]
     
  2. Cái bang

    Cái bang Sơ Nhập Giang Hồ

    ít nhất phải có cái log của nginx, của php thì mới biết lỗi do đâu. Chứ những người nhìn lệnh top mà bắt được bệnh thì không tham gia forum này đâu.
     
  3. thanh858036

    thanh858036 Sơ Nhập Giang Hồ

    nhìn hình đoán do thiếu cpu nâng lên là hết
     
  4. Newbie88

    Newbie88 Tân Thủ Thôn

    Log full cái này a ạ
    --- Double Post Merged, Jul 6, 2021, Original Post Date: Jul 6, 2021 ---
    e bật maintenance k có ai vào web mà nó vẫn cứ tăng lên, web e ít người dùng mà e có nâng cpu r ạ
    --- Double Post Merged, Jul 6, 2021 ---
    [​IMG]
    Edit by HML:
    Log lộ domain, bạn up lên lại log mới che domain nha.
     
  5. firefox

    firefox Bang Chúng

    Nhiều request quá nó hết tài nguyên thôi bác, nên cache lại
    Ở log em thấy 2 thứ:
    1. Trong 1 giây có vài chục request với parameter ngẫu nhiên, điều này có vẻ bất thường
    2. Lộ domain, kkk
     
    Newbie88 likes this.
  6. pipapipo

    pipapipo Sơ Nhập Giang Hồ

    Đồng chí ssh vào server, tạo file backup của 2 file:
    - /etc/nginx/nginx.conf
    - /etc/php/7.2/fpm/pool.d/www.conf
    Sau đó phệt đống này vào:
    Code:
    sed -i "s/worker_processes.*/worker_processes auto;/" /etc/nginx/nginx.conf
    sed -i "s/# multi_accept.*/multi_accept on;/" /etc/nginx/nginx.conf
    sed -i "s/# server_names_hash_bucket_size.*/server_names_hash_bucket_size 128;/" /etc/nginx/nginx.conf
    sed -i "s/# server_tokens off/server_tokens off/" /etc/nginx/nginx.conf
    sed -i "s/;listen\.mode =.*/listen.mode = 0666/" /etc/php/7.2/fpm/pool.d/www.conf
    sed -i "s/;request_terminate_timeout =.*/request_terminate_timeout = 60/" /etc/php/7.2/fpm/pool.d/www.conf
    sed -i "s/pm\.max_children =.*/pm.max_children = 70/" /etc/php/7.2/fpm/pool.d/www.conf
    sed -i "s/pm\.start_servers =.*/pm.start_servers = 20/" /etc/php/7.2/fpm/pool.d/www.conf
    sed -i "s/pm\.min_spare_servers =.*/pm.min_spare_servers = 20/" /etc/php/7.2/fpm/pool.d/www.conf
    sed -i "s/pm\.max_spare_servers =.*/pm.max_spare_servers = 35/" /etc/php/7.2/fpm/pool.d/www.conf
    sed -i "s/;pm\.max_requests =.*/pm.max_requests = 500/" /etc/php/7.2/fpm/pool.d/www.conf
    
    rồi restart lại php-fpm
     
    Newbie88 and firefox like this.
  7. Cái bang

    Cái bang Sơ Nhập Giang Hồ

    Traffic ít mà đơ thì 90% là lỗi ở code rồi. Dò lại code của web chứ sửa config làm chi.
     
  8. Newbie88

    Newbie88 Tân Thủ Thôn

    2 file trên cp sang 1 file mới hay thế nào vậy ạ
     
  9. Sanhpv

    Sanhpv Sơ Nhập Giang Hồ

    đưa web đây xem nào. web đang bị ddos 99%. bật rate limit lên, bật chờ 5s của CLF lên
     
  10. pipapipo

    pipapipo Sơ Nhập Giang Hồ

    Yep, dùng 2 lệnh này trước rồi paste mấy dòng sed kia sau:
    Code:
    cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
    cp /etc/php/7.2/fpm/pool.d/www.conf /etc/php/7.2/fpm/pool.d/www.conf.bak
     
    Newbie88 likes this.
  11. Newbie88

    Newbie88 Tân Thủ Thôn

    [​IMG]

    Em xài xong nhìn kinh dị hơn bro ạ, bật 5s cloudflare rồi vẫn bị :(
    Cấu hình e đang xài 2CPU , 2GB ram
     
  12. firefox

    firefox Bang Chúng

    vậy thì tỷ lệ cao là do code rồi, thử xài xdebug đi để tìm vấn đề đi bạn
     
  13. Newbie88

    Newbie88 Tân Thủ Thôn

    web của e chạy cả ngày bình thường đến tầm tối mới bị mà trafic k có gì thay đổi, ca này dị quá, e check code k có gì khác thường :(
     
  14. Sanhpv

    Sanhpv Sơ Nhập Giang Hồ

    vẫn không tin là bị ddos à, chặn ip toàn thế giới chỉ để ip khu vực web đang hướng tới. tóm lại là check lại đi 100% do ddos đấy
     
  15. Newbie88

    Newbie88 Tân Thủ Thôn

    ok bác, để e thêm cái chặn ip, chứ 5s vẫn bị nó chơi, sợ vãi lúa {adore}