সার্ভার_নাম ছাড়াই এবং কেবলমাত্র স্ট্যাটিক আইপি ঠিকানা ব্যবহার করে এনগিনেক্স?


34

এটি আমার প্রথম ওয়েব অ্যাপ্লিকেশন মোতায়েন এবং সব ধরণের সমস্যার মধ্যে চলছে।

আমি বর্তমানে জ্যাঙ্গো অ্যাপ্লিকেশনের জন্য একটি এনগিনেক্স + গ্যানিকর্ন প্রয়োগকরণের জন্য যাচ্ছি, তবে বেশিরভাগ ক্ষেত্রেই এই প্রশ্নটি এনজিনেক্স কনফিগারেশনের সাথে সম্পর্কিত। কিছু প্রসঙ্গে - এনজিনেক্স গোনিকর্ন লোকাল সার্ভারে সংযোগ এবং প্রক্সি পাবেন।

nginx কনফিগারেশনে, যেখানে এটি বলে server_nameযে আমাকে একটি সরবরাহ করতে হবে? আমি আমার নেটওয়ার্কের বাহ্যিক আইপি (এটি স্থিতিশীল) এবং শুনতে পোর্ট নম্বর দিয়ে কোনও ধরণের ডোমেন নাম ব্যবহার করার পরিকল্পনা করি না।

আমার আকাঙ্ক্ষা হ'ল আমি যখন এমন কিছু অ্যাক্সেস করি তখন আমি http://xxx.xxx.xxx.xxx:9050সাইটটি পেতে সক্ষম হব।

নীচে আমি নমুনা কোডটি রেফারেন্সের জন্য কনফিগারেশনগুলিকে বেস করব।

   server {
        listen   80;
        server_name WHAT TO PUT HERE?;

    root /path/to/test/hello;

    location /media/ {
        # if asset versioning is used
        if ($query_string) {
            expires max;
        }
    }
    location /admin/media/ {
        # this changes depending on your python version
        root /path/to/test/lib/python2.6/site-packages/django/contrib;
    }
    location / {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_connect_timeout 10;
        proxy_read_timeout 10;
        proxy_pass http://localhost:8000/;
    }
        # what to serve if upstream is not available or crashes
        error_page 500 502 503 504 /media/50x.html;
     }

উত্তর:


31

server_nameখালি স্ট্রিংয়ের ডিফল্ট, যা ভাল; আপনি এটি সম্পূর্ণরূপে বাদ দিতে পারেন।

"আমি এর উপরে কোনও নাম রাখতে চাই না" এর জন্য আর একটি সাধারণ পদ্ধতির প্রয়োজন ব্যবহার করা server_name _;

আপনার http://xxx.xxx.xxx.xxx:9050URL টি এই কনফিগারেশনের সাথে কাজ করবে না, যদিও; আপনি কেবল ৮০ বন্দরটিতে শুনছেন You listen 9050;পাশাপাশি আপনাকেও যুক্ত করতে হবে ।



কিছুটা সম্পর্কিত
মুহাম্মদ উমার

5

সার্ভার নাম _; এখানে একটি ওয়াইল্ডকার্ড নয় দেখুন:

http://blog.gahooa.com/2013/08/21/nginx-how-to-specify-a-default-server

কেবলমাত্র আইপি-অ্যাক্সেসের জন্য ডিফল্ট_সার্ভার নির্দেশিকা নির্দিষ্ট করুন (দেখুন http://nginx.org/en/docs/http/request_processing.html )

server {
    listen 1.2.3.4:80 default_server;
    ... 
    }

2
কেবলমাত্র দরকারী তথ্যের টুকরোটির সাথে লিঙ্ক করতে এবং এটি আপনার উত্তরে অন্তর্ভুক্ত না করার জন্য নিরুৎসাহিত করা হয়েছে - এক্ষেত্রে server_name _;এটি একটি অ-মিল।
BE77Y

1
"একটি ওয়াইল্ডকার্ড নয়" == "একটি মিল নয়" আমি নিশ্চিত যে তারা এটি পাবে।
জো

2
দুটি সমান নয়; ওয়াইল্ডকার্ড সবকিছুর সাথে মেলে যখন আর কিছুই মেলে না, তখন অ-মিল হয়। এখানে মূল কথাটি হ'ল দরকারী তথ্যটি উত্তরে থাকা উচিত, অন্য কোনও সাইটে লিঙ্কযুক্ত নয় (যদিও সেই সাইটটিতে ভালভাবে উপস্থাপন করা হয়েছে
BE77Y

এবং মুল বক্তব্যটি এটি একটি 'ভাল উত্তর' নয় তবে এটি একটি উত্তর। দুঃখিত কোন সময়। আপনি যদি এটি সম্পাদনা / পুনর্লিখন করতে চান তবে আমি আপনাকে সম্পূর্ণ অনুমতি দিচ্ছি। অন্যথায়, তারা ঠিক কী করবে তা জানবে এবং এটি সহায়ক। এটি পুনরায় লিখতে নির্দ্বিধায়, অন্যথায় উত্তর দাঁড়িয়েছে।
জো

3
প্রাসঙ্গিক তথ্যের সাথে অতিরিক্ত লাইন অন্তর্ভুক্ত করার জন্য যদি আপনার 'সময় নেই' থাকে তবে আমি কেন সত্যই জানি না আপনি কেন কোনও স্বীকৃত উত্তর সহ 3 বছরের পুরানো পোস্টটির উত্তর দিতে বিরক্ত করলেন!
BE77Y

4

আপনি যদি আপনার অ্যাপ্লিকেশনটি নির্দিষ্ট হোস্টনাম ছাড়াই 9050 পোর্টে প্রতিক্রিয়া জানাতে চান তবে আপনি কেবল সার্ভার_নামটি এড়িয়ে যেতে পারেন, যেহেতু এনগিনেক্স প্রথমে শোনার এন্ট্রি এবং তারপর উপস্থিত থাকলে সার্ভার_নামটি সমাধান করে:

server {
   listen 9050;

   .....
}

আরও বিশদ এখানে: Nginx সার্ভার_নাম এবং এটি কীভাবে কাজ করে

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