আমি যদি এনজিএনএক্স কনফিগারেশনে পরিবেশের পরিবর্তনশীল ব্যবহার করি এবং এনজিএনএক্স কেবল স্থিতিশীল ফাইল (এইচটিএমএল, জেএসএস, সিএসএস - উদাহরণস্বরূপ একটি কৌনিকজ অ্যাপ্লিকেশন) পরিবেশন করার জন্য কনফিগার করা থাকে তবে এনজিএনক্স যে কোনও জেএস ফাইলের মধ্যে পরিবেশের পরিবর্তনশীলটি ব্যবহার করতে পারি তার কোনও উপায় আছে কি? ? অথবা অ স্থিতিশীল সার্ভার চালানোর জন্য এটি করার একমাত্র উপায়, যেমন io.js, php, ইত্যাদি run
বিটিডব্লিউ আপনি এনজিনেক্সের কনফিগারেশনে স্থানীয়ভাবে ভেরিয়েবল ব্যবহার করতে পারবেন না।
আমি যখন পরিবেশ সম্পর্কে কথা বলতে মধ্যে Vars nginx কনফিগ আমি গড় মত এই পোস্টে: আমি কিভাবে Nginx.conf মধ্যে এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করতে পারেন তারা কোথায় ব্যবহার env APP_WEB_1_PORT_5000_TCP_ADDR;
এবং$ENV{"APP_WEB_1_PORT_5000_TCP_ADDR"};
আপনার ব্যবহারের ক্ষেত্রে হুবহু ব্যাখ্যা করুন
আমার নির্দিষ্ট ব্যবহারের ক্ষেত্রে হ'ল আমার একটি ডকার পাত্রে একটি এনগিনেক্স-চালিত অ্যাঙ্গুলারজেএস অ্যাপ রয়েছে। অ্যাপ্লিকেশনটি একটি "সিঙ্গল পেজ অ্যাপ্লিকেশন" যা সম্পূর্ণরূপে অন্য সিস্টেমে চলমান একটি এপিআই খায়। বর্তমানে আমি উত্পাদন এবং মঞ্চের মধ্যে একটি পৃথক ডকার ধারক পরিচালনা করি কারণ অ্যাপটিতে কিছু কনফিগার রয়েছে যা পৃথক, উদাহরণস্বরূপ গুগল-অ্যানাল্টিক্স কোড। এই পরিবেশ-সম্পর্কিত ডেটা একটি config.js
ফাইলে রাখা হয় এবং মানগুলি বর্তমানে হার্ডকোড করা হয়, গিটে master
শাখার জন্য একটি মান এবং শাখার জন্য আলাদা মান staging
। আমি নকশাটি পরিবর্তন করতে চাই যাতে আমি উত্পাদন এবং মঞ্চ উভয়ের জন্য একই ধারকটি ব্যবহার করতে পারি । আমি যখন এটি চালাচ্ছি তখন কনটেইনারটিতে একটি ENV ভার পাস করতে চাই ( docker run -e GACODE=UA-12345-6 ...
) এবং এনজিএনএক্স ENV ভেরি ব্যবহার করতে পারি (এর মাধ্যমে env GACODE;
এবং $ENV{"GACODE"}
তাইconfig.js
ফাইল GoogleAnaltyics কোডগুলিকে হার্ডকোডিংয়ের পরিবর্তে পাস করা ব্যবহার করতে পারে)। আমি জানি না এটি সম্ভব কিনা (তাই প্রশ্ন;))। কেবলমাত্র এনজিএনএক্স ব্যবহার করা আমার ধারকটিকে একটি একক প্রক্রিয়া করে তোলে, আমি যদি io.js ব্যবহার করতে হয় তবে আমার একাধিক সংযুক্ত ধারক প্রয়োজন এবং আরও চলমান অংশগুলি আরও জটিল)।