nginx- डुप्लिकेट डिफ़ॉल्ट सर्वर त्रुटि


105

मेरी त्रुटि लॉग में मुझे मिलता है

[emerg] 10619 # 0: /etc/nginx/sites-enabled/mysite.com:4 में 0.0.0.0:80 के लिए एक डुप्लिकेट डिफ़ॉल्ट सर्वर

लाइन 4 पर मेरे पास है:

server_name mysite.com   www.mysite.com;

कोई सुझाव?


4
अपना पूरा कॉन्फिगर पोस्ट करें। प्रत्येक का server {}अपना listenनिर्देशन होना चाहिए ।
मार्की 555

यदि आप साइटों-सक्षम में कुछ संपादित कर रहे थे और कनेक्शन अप्रत्याशित रूप से बंद हो गया, तो आप टेक्स्ट एडिटर से एक ऑटो सेव फ़ाइल के साथ समाप्त हो सकते हैं, इसलिए आप लगभग सभी कॉन्फ़िगरेशन डुप्लिकेट के साथ समाप्त हो जाएंगे, बस उस फ़ाइल को हटा दें (नैनो file.save के लिए)
लुइसएफ

जवाबों:


196

आपके पास अन्य फ़ाइलें (जैसे defaultकॉन्फ़िगरेशन) स्थित /etc/nginx/sites-enabledहैं जिन्हें निकालने की आवश्यकता है।

यह समस्या आपकी फ़ाइलों में default_serverएक या अधिक listenनिर्देशों के लिए दिए गए पैरामीटर के दोहराव के कारण होती है । आप संभवतः इस परस्पर विरोधी निर्देश को कुछ इसी तरह पढ़ेंगे:

listen 80 default_server;

राज्यों के लिए nginx कोर मॉड्यूल प्रलेखन केlisten रूप में :

default_serverपैरामीटर, यदि मौजूद है, सर्वर निर्दिष्ट के लिए डिफ़ॉल्ट सर्वर बनने के लिए कारण होगा address:portजोड़ी। यदि किसी भी निर्देश में default_serverपैरामीटर नहीं है, तो address:portजोड़ी के साथ पहला सर्वर इस जोड़ी के लिए डिफ़ॉल्ट सर्वर होगा।

इसका मतलब है कि पोर्ट 80 के सेट के serverसाथ आपके कॉन्फ़िगरेशन में कोई अन्य फ़ाइल या ब्लॉक परिभाषित होना चाहिए default_server। nginx का सामना हो रहा है कि आपकी mysite.comफ़ाइल से पहले पहले तो दूसरे कॉन्फ़िगरेशन को निकालने या समायोजित करने का प्रयास करें।

यदि आप यह पता लगाने के लिए संघर्ष कर रहे हैं कि ये निर्देश और पैरामीटर कहाँ सेट हैं, तो इस तरह से खोज करें:

grep -R default_server /etc/nginx

धन्यवाद। यह वास्तव में मदद की।
कौशिक दास

29
बस स्पष्ट होने के लिए यह वह default_serverकीवर्ड है जो केवल एक ही कॉन्फ़िगरेशन में दिखाई दे सकता है - आपके पास कई साइटें हैं जो परिभाषित हो सकती हैंlisten 80;
एबोरब नोव

1
धन्यवाद, आपकी मदद की जाती है। मेरे मामले में मैं /etc/nginx/sites-enabled/default.save में एक dublicate पाया
एंड्रयू बढ़ो

1
@ Eborbob की टिप्पणी के आगे, default_serverपैरामीटर केवल प्रत्येक address:portजोड़ी के लिए एक बार दिखाई दे सकता है । इसका मतलब यह है कि यह संभव है (और आम) default_serverसमग्र nginx विन्यास में कई बार प्रस्तुत करने के लिए, लेकिन अलग-अलग आईपी / बंदरगाहों पर लागू होता है।
davidjb

2
grep कमांड सिर्फ टिकट था। यह साधारण चीजें हैं, धन्यवाद
फायरड्रैगन


5

ओएस डेबियन 10 + nginx। मेरे मामले में, मैंने "डिफ़ॉल्ट" पृष्ठ को इस तरह से खोल दिया:

  1. सीडी / etc / nginx / साइटों सक्षम
  2. डिफ़ॉल्ट को अनलिंक करें
  3. सेवा nginx पुनरारंभ

4

यदि आप डिजिटल महासागर में हैं, तो इसका मतलब है कि आपको / etc / nginx / sites-enable / और फिर rm -R digitalocean और default का उपयोग करके REMOVE करने की आवश्यकता है

इसने मेरे लिए इसे ठीक कर दिया!

बिटविस का उपयोग करके विंडोज 10 पर कंसोल का चित्र


यह सरल उत्तर था जो मेरे लिए काम करता था। मैं जाना पड़ा / etc / nginx / साइटों सक्षम / और rm -R previousServerFolderNameतो sudo service nginx restartबनाने के लिए systemctl status nginxशो "सक्रिय (चल)"
रोली पाली
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.