আপনি কীভাবে এনগিনেক্সে সার্ভারের নির্দিষ্ট ENV মান সেট করবেন?


9

আমি এমন একটি প্রকল্প শুরু করছি যা ডেটাবেস সংযোগ এবং অন্য কয়েকটি জিনিস সেট করতে পরিবেশ পরিবর্তনশীল ব্যবহার করে। (লোকেরা নির্লিপ্ত এবং সেগুলি ওভাররাইট করে সেগুলি কনফিগারেশন ফাইলগুলি ব্যবহার করতে চায় নি)।

যাইহোক, আমি এনগিনেক্স ব্যবহার করছি এবং এটি এনভিকে সমর্থন করে - মনে হয় এটি যথেষ্টভাবে সমর্থন করে না । আপনি প্রতি সার্ভার ব্লক ভিত্তিতে env মান সেট করতে পারবেন না । অন্য কথায়, এটি কাজ করবে না:

server {
    listen 80;
    server_name domain;
    env FOO = "bar";
}

আপনার অবশ্যই এটি করা উচিত:

env FOO = "bar";

http {
    server {
        listen 80;
        server_name domain;
    }
}

যার অর্থ আমি ভোস্ট-নির্দিষ্ট মান রাখতে পারি না। সুতরাং আমাকে অবশ্যই প্রতিটি সাইটের জন্য একটি সম্পূর্ণ ভোস্ট কনফিগারেশন তৈরি করতে হবে এবং এই মুহুর্তে আমার কেবলমাত্রটিকে সক্রিয় করতে হবে যাতে মানটি সঠিকভাবে সেট করা থাকে।

এটিকে ঘিরে কাজ করার কোনও উপায় আছে কি?


এনগিনেক্স কনফিগারেশন যেমন অ্যাপ্লিকেশনটির কনফিগার হিসাবে ওভাররাইট করা ঠিক ততটাই সংবেদনশীল নয়? অ্যাপ্লিকেশনটিতে অনুরোধগুলি খাওয়ার জন্য এটি কোন মডিউল ব্যবহার করছে?
শেন ম্যাডেন

@ শানেম্যাডেন, এনগিনেক্স কনফিগারেশন প্রকল্পের অংশ নয় তবে প্রতিটি সার্ভারে ম্যানুয়ালি তৈরি করতে হবে। সুতরাং এটি ওভাররাইট করা হবে না। আমি যা পোস্ট করেছি তা সম্পূর্ণ কনফিগার নয় - আমরা কেবল fastcgi_passরুবি / পিএইচপি করার অনুরোধটি ফরোয়ার্ড করার জন্য স্ট্যান্ডার্ড ব্যবহার করছি ।
শিওনক্রস

উত্তর:


13

দেখা যাচ্ছে যে আপনি যদি ফাস্টসিজি ব্যবহার করে থাকেন তবে আপনি ফাস্ট cgi_param থেকে মানগুলি পাস করে এটি পেতে পারেন ।

server {
    listen 80;
    server_name domain;

    # Pass PHP scripts to php-fastcgi listening on port 9000
    location ~ path/to/it {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param FOO "bar";
    }
}

হ্যাঁ, আমি সেটাই প্রস্তাব করতে যাচ্ছিলাম। আমাকে মার! (আমি আজকের ভোটের বাইরে আছি, আমি এই উত্তরটি কিছুটা
শেন ম্যাডেন

@ শানেমডেন সম্ভবত আপনি এটির জন্য আমাকে সাহায্য করতে পারেন ।
শিওনক্রস

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