এনগিনেক্স: কনফ ফাইলের সাথে সম্পর্কিত রুট পাথ


17

rootকনফিড ফাইলটি যুক্ত করে কি পাথ নির্দিষ্ট করা সম্ভব ?

আমরা একটি ওয়েব অ্যাপ বিকাশ করছি এবং app-nginx.confপ্রকল্পের ডিরেক্টরিতে অ্যাপ-নির্দিষ্ট কনফিগারেশন সহ ফাইল রাখি keep আমি এই ফাইলটিকে প্রধান হিসাবে অন্তর্ভুক্ত করতে সক্ষম হতে চাই nginx.confএবং rootপ্রয়োজনীয় প্রকল্পের সাব ডিরেক্টরিটি যথাযথভাবে উল্লেখ করতে চাই। উদাহরণ:

# /etc/nginx/nginx.conf
http {
    include /absolute/path/to/app/app-nginx.conf
}


# /absolute/path/to/app/app-nginx.conf
server {
    server_name localhost;
    listen 9090;

    root ./app;
}

অনুরূপ কনফিগারেশন দিয়ে এনগিনেক্স শুরু করার পরে এনজিনেক্স অ্যাপ্লিকেশন ডিরেক্টরিটিতে নয়, ./appএনগিনেক্স ইনস্টলেশন ডিরেক্টরি সম্পর্কিত ( /usr/local/Cellar/nginx/1.4.3/আমার ক্ষেত্রে) সম্পর্কিত পাথ সমাধান করার চেষ্টা করে ।

উত্তর:


11

কনফিড ফাইলটি ধারণ করে কি মূল পাথ নির্দিষ্ট করা সম্ভব?

সংক্ষিপ্ত উত্তর: না

দীর্ঘ উত্তর: ডিফল্টরূপে, এনগিনেক্স কেবল সংকলনের সময়ে --prefixএবং --conf-pathযেগুলি নির্ধারণ করা হয়েছে (সেগুলি: https://nginx.org/en/docs/configure.html ) সেট করা হয়েছে সেই পথ সম্পর্কে কেবল জানেন about কমান্ডটি চালিয়ে আমরা Nginx দ্বারা ব্যবহৃত বিভিন্ন পাথ খুঁজে পেতে পারি nginx -V(এটি মূলধন "ভি")। সুতরাং, --conf-pathযেখানে মূল nginx.confফাইলটি থাকে এবং সেই পাথটি যে কোনও আপেক্ষিক পাথের জন্য ব্যবহৃত হয়।

অফিশিয়াল ডকুমেন্টেশন ( https://nginx.org/r/root ) অনুসারে, কোনও rootনির্দেশিকায় অন্য ভেরিয়েবল থাকতে পারে।

প্রাথমিক উত্তর পোস্ট করার 5 বছর পরে স্পষ্ট করার জন্য @ সাইকারকে ধন্যবাদ!


ধন্যবাদ, পোঠি দুর্ভাগ্যক্রমে কোনও বিকল্পই আমার পক্ষে কাজ করে না। --prefixঅন্যান্য এনগিনেক্স সার্ভারগুলিকে প্রভাবিত করতে পারে এবং আমার ব্যক্তিগত দৃষ্টিকোণ থেকে কনফিগারেশন ফাইলের সাথে তুলনা পরিচালনা করা কিছুটা কঠিন। এবং এনজিনেক্স setবাইরের serverপ্রসঙ্গে নির্দেশের সাথে কাস্টম ভেরিয়েবল তৈরি করার অনুমতি দেয় না , তাই আমি আমার অ্যাপ্লিকেশন- nginx.conf ফাইল থেকে নিখুঁত পথ সরাতে পারি না।
আন্তন মোইসিয়েভ

সুতরাং, সেই পথটি যে কোনও আপেক্ষিক পাথের জন্য ব্যবহৃত হয়। আমি মনে করি এটি সঠিক নয়। মনে হচ্ছে এনজিনেক্স বিকল্পগুলির জন্য কনফিগার ডির ব্যবহার করবে includeএবং ssl_certificateউদাহরণস্বরূপ, তবে বিকল্পগুলির জন্য উপসর্গ ডির ব্যবহার করবে root। প্রতিটি অপশন যেটি ব্যবহার করে সে সম্পর্কে আমি একটি সম্পূর্ণ তালিকা নিয়ে আসছি বলে মনে হয় না।
সাইকেল 16

@ সাইকার আপনি ঠিক বলেছেন উত্তরটি এখনই আপডেট করুন। অবশ্যই, এটি সম্পূর্ণ নয়। তবে, মূল উত্তরের চেয়ে ভাল (এটি প্রকৃতপক্ষে ভুল / ভুল ছিল)।
পোথি কলিমুথু

আমি এনগিনেক্স থেকে প্রিন্ট টু প্রো পড়ছি, এটি উল্লেখ করেছে যে: "আপনি ইতিমধ্যে কোনও অবস্থানের ব্লকের অভ্যন্তরে মূল নির্দেশিকা ব্যবহারের বিষয়টি দেখেছেন dire nginx / HTML / app1 / চিত্র / myimage.jpg। " সুতরাং IMHO এর অর্থ Nginx কনফিগারেশন আপেক্ষিক প্যাথগুলি সমর্থন করে?
ওয়েবউইম্যান

এখানে, প্রশ্নটি "রুট" নির্দেশনার জন্য নির্দিষ্ট এবং এটি "কনফাইলে ফাইলের আপেক্ষিক পথ" সমর্থন করতে পারে কিনা তা সুনির্দিষ্ট।
পোথি কলিমুথু

0

আমি আপেক্ষিক পাথগুলি ব্যবহার করতে বা বৈশ্বিক ভেরিয়েবলগুলি সংজ্ঞায়িত করার কোনও উপায় খুঁজে পাইনি, তবে এই ছোট্ট কৌশলটি আমার সমস্যা সমাধান করে।


3
কি ছোট কৌশল?
মাইকেল হ্যাম্পটন

আমি ভেরিয়েবল সংজ্ঞায়িত করতে পারি না, তবে আমি mapএকক defaultমান সহ দিকনির্দেশনা ব্যবহার করতে পারি যা আমার জন্য ভেরিয়েবলের ভূমিকা পালন করবে।
আন্তন মোইসেইভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.