এনগিনেক্স: উজানের সাথে সংযোগের সময় কোনও লাইভ আপস্ট্রিম নেই


15

502 টি খারাপ গেটওয়ে ত্রুটি সাইট পৃষ্ঠাগুলির মাঝে এবং হোম পৃষ্ঠায় কিছু সময় স্যুইচ করার সময় প্রদর্শিত হয় তবে হোম পৃষ্ঠায় প্রথম অনুরোধের জন্য নয় এটি তখনই হয় যখন অন্য কোনও পৃষ্ঠা এতে পুনঃনির্দেশিত হয়। এবং এটি কিছু জাভাস্ক্রিপ্ট ফাইলের জন্য ঘটে

দুটি আপ স্ট্রিম পিএইচপি 1 পিএইচপি 2 এ কনফিগার করা লোড ব্যালেন্সিং উভয়ই অ্যাপাচি সার্ভার।

আমি ত্রুটি লগ চেক করার সময় আমি পছন্দ করি:

no live upstreams while connecting to upstream

[error] 27212#0: *314 no live upstreams while connecting to   upstream, client: ip_address , server: example.com, request: "GET / HTTP/1.1", upstream: "http://example.com", host: "example.com", referrer: "http://example.com/mypages/"

এবং এটি লোড ব্যালেন্সিং সার্ভার কনফিগারেশন

  upstream example.com  {
    #  ip_hash;
      server php01 max_fails=3 fail_timeout=15s;
      server php02 max_fails=3 fail_timeout=15s;
    }

    server {
      listen IP:80;
      server_name example.com;
      access_log /var/log/nginx/example.com.access;
      error_log /var/log/nginx/example.com.error error;

     location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass  http://$server_name/$uri;
        proxy_cache_bypass $cookie_nocache $arg_nocache $arg_comment;
        proxy_cache_bypass $http_pragma $http_authorization;
        proxy_no_cache $cookie_nocache $arg_nocache $arg_comment;
        proxy_no_cache $http_pragma $http_authorization;
      }

    }

আমি কয়েক ঘন্টা ধরে অনুসন্ধান করেছি এবং আমার স্ট্রিমগুলি সমাপ্ত এবং তাদের সাথে কোনও সমস্যা খুঁজে পাওয়া যায় নি।


আপনার আপস্ট্রিম সার্ভারগুলি (php01, php02) কাজ করছে? আপনি তাদের কাছে এনগনিক্স মেশিন থেকে টেলনেট করতে পারবেন?
নিউট্রিনাস

তারা সংযুক্ত আছে।
মোহাম্মদ জোলানি 11

আপনি কি দেখেছেন যে ট্রাফিক সামলানোর জন্য প্রবাহের সার্ভারগুলিতে পর্যাপ্ত প্রক্রিয়া চলছে? যদি তারা কোনও কারণে অনুরোধ অস্বীকার করে তবে আপনার স্ট্রিম লগগুলি আপ স্ট্রিমে চেক করা উচিত।
টেরো কিলকেনেন

আমি করেছি এবং কোনও প্রবাহের ত্রুটি লগ এবং কোনও খারাপ গেটওয়ে অনুরোধগুলির জন্য কোনও অ্যাক্সেস লগ নিয়ে কোনও সমস্যা নেই।
মোহাম্মদ জোলানী

আপনি কি এই সমস্যার সমাধান খুঁজে পেয়েছেন?
ফ্লিকফ্লিফলি

উত্তর:


4

এটি এনগিনেক্সের সমস্যা নয়, এটি আপনার পিএইচপি ব্যাকেন্ডের সময় মত সাড়া না দেওয়ার সমস্যা is এটি নিশ্চিত করতে আপনি Nginx এ লগিং যুক্ত করতে পারেন

রেফারেন্সের দ্বিতীয় পয়েন্ট হিসাবে, আপনি topসার্ভারে এবং ম্যানুয়ালি চেক করতে পারেন যে পিএইচপি সময়কালের জন্য সিপিইউতে গালি দিচ্ছে, ধীর প্রতিক্রিয়াগুলির আর একটি সূচক।

যদি পিএইচপি থেকে খুব ধীরে ধীরে প্রতিক্রিয়া আপনার সাথে ঠিক থাকে তবে আপনি Nginx ছাড়ার আগে আরও অপেক্ষা করতে বলতে পারেন:

 # Wait 5 minutes before giving up on the backend!
 proxy_read_timeout 5m; 

উপরের সাথে সংযুক্ত সময় সংক্রান্ত তথ্যের সাথে লগগুলি পরীক্ষা করে, আপনার পিএইচপি প্রক্রিয়া করার জন্য কোন অনুরোধগুলি ধীর গতির তা অনুধাবন করতে সক্ষম হওয়া উচিত।

সমস্যা সঙ্কুচিত করতে, এই অনুরোধগুলি সরাসরি পিএইচপি ব্যাকএন্ডে প্রেরণ করুন।

যা ঘটছে তার উপর নির্ভর করে আপনি কিছুটা ধীরে ধীরে অনুরোধ এড়িয়ে Nginx- এ কিছু অনুরোধের ক্যাচিং সক্ষম করতে সক্ষম হতে পারেন।


0

জানি না এটি বেশ একরকম কিনা তবে আমার জন্য যা কাজ করেছিল তা হ'ল সার্ভার নামের শেষে ম্যাক্সফেলগুলি = 0 যোগ করা

upstream sm_url {সার্ভার LOAD_BALANCER_DOMAIN_NAME: ম্যাক্স_ফেইলস = 0; }


-3

প্রবাহকে "up_example.com" এ নাম পরিবর্তন করুন এবং পরিবর্তন করুন

proxy_pass  http://$server_name/$uri;

থাকা

proxy_pass  http://up_$server_name$uri;

প্রচলিত অবস্থায়, আমি ব্যবহারে কোনও প্রযুক্তিগত সমস্যা দেখতে পাচ্ছি না $server_name। যদি এটি সমস্যা হয় তবে আমি মনে করি যে তার সমস্যা / সমস্ত / সময় থাকবে, কেবল কখনও কখনও বলা হয় নি।
মার্ক স্টসবার্গ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.