Nginx। সার্ভারের নির্দেশিকা উত্তরাধিকার।


9

নির্মাণ হ্রাস করার কোনও উপায় আছে কি:

server { 
  server_name regular_site; 
  location /api/ { 
     proxy_pass 127.0.0.1:5000;
  } 
  location / { 
     proxy_pass 127.0.0.1:3000;
  } 
} 

server { 
  server_name mobile_site; 
  location /api/ { 
     proxy_pass 127.0.0.1:5000;
  } 
  location / { 
     proxy_pass 127.0.0.1:3001;
  } 
} 

প্রতি

server api { 
  location /api/ { 
     proxy_pass 127.0.0.1:5000;
  } 
}

server extends api { 
  server_name regular_site;
  location / { 
     proxy_pass 127.0.0.1:3000;
  } 
} 

server extends api { 
  server_name mobile_site;
  location / { 
     proxy_pass 127.0.0.1:3001;
  } 
} 

এপিআই বিভাগ থেকে মুক্তি পাওয়ার জন্য অন্য কোনও পরামর্শ স্বাগত।


আমাদের FAQ পড়তে দয়া করে কিছুক্ষণ সময় নিন moment আপনার প্রশ্নটি আমার কাছে এই সাইটের জন্য অফ-টপিক হিসাবে উপস্থিত হবে।
আশাহীন N00b

@ হোপলেস এন00 বি, হ্যাঁ, এটি অফটোপিকের মতো দেখাচ্ছে। তবে এখানে আমাদের কাছে এনজিনেক্স সম্পর্কে 3000 টি প্রশ্ন রয়েছে, যা এক্ষেত্রে অদ্ভুত। আমি নিশ্চিত, এই প্রশ্নটি স্ট্যাকওভারফ্লো নয়।
নিকোলে ফমিনিহ

উত্তর:


13

আপনি একটি includeবিবৃতি দিয়ে এটি বেশ সহজেই করতে পারেন ।

/etc/nginx/conf/api_defaults.conf

location /api/ { 
  proxy_pass 127.0.0.1:5000;
}    

তারপরে আপনার মূল vhostকনফিগারেশনে।

/etc/nginx/sites-enabled/my_new_api.conf

server my_new_api {  
  server_name mobile_site;

  include "/etc/nginx/conf/api_defaults.conf";

  location / { 
    proxy_pass 127.0.0.1:3001;
  }         
}

এটাই আমি ভেবেছিলাম, অন্য কথায় লোকেশন ব্লকগুলি সার্ভার ব্লকে উত্তরাধিকার সূত্রে প্রাপ্ত হয় না। এটি আপাচি কীভাবে এটি করে তার বিপরীতে, যেখানে ভার্চুয়ালহোস্টের বাইরে আপনার অবস্থান নির্ধারণ করা যেতে পারে, যা সমস্ত ভার্চুয়ালহোস্ট দ্বারা উত্তরাধিকার সূত্রে প্রাপ্ত। Nginx এর সাথে আপনাকে অবশ্যই প্রতিটি সার্ভার ব্লকে সাধারণ কনফিগারগুলি অবশ্যই স্পষ্টভাবে অন্তর্ভুক্ত করতে হবে।
জেএম বেকার 15
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.