मेरी त्रुटि लॉग में मुझे मिलता है
[emerg] 10619 # 0: /etc/nginx/sites-enabled/mysite.com:4 में 0.0.0.0:80 के लिए एक डुप्लिकेट डिफ़ॉल्ट सर्वर
लाइन 4 पर मेरे पास है:
server_name mysite.com www.mysite.com;
कोई सुझाव?
मेरी त्रुटि लॉग में मुझे मिलता है
[emerg] 10619 # 0: /etc/nginx/sites-enabled/mysite.com:4 में 0.0.0.0:80 के लिए एक डुप्लिकेट डिफ़ॉल्ट सर्वर
लाइन 4 पर मेरे पास है:
server_name mysite.com www.mysite.com;
कोई सुझाव?
जवाबों:
आपके पास अन्य फ़ाइलें (जैसे 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
default_server
कीवर्ड है जो केवल एक ही कॉन्फ़िगरेशन में दिखाई दे सकता है - आपके पास कई साइटें हैं जो परिभाषित हो सकती हैंlisten 80;
default_server
पैरामीटर केवल प्रत्येक address:port
जोड़ी के लिए एक बार दिखाई दे सकता है । इसका मतलब यह है कि यह संभव है (और आम) default_server
समग्र nginx विन्यास में कई बार प्रस्तुत करने के लिए, लेकिन अलग-अलग आईपी / बंदरगाहों पर लागू होता है।
एक ही पोर्ट को सुनने वाले परस्पर विरोधी कॉन्फ़िगरेशन को देखने के लिए टर्मिनल पर इसे निष्पादित करें:
grep -R default_server /etc/nginx
ओएस डेबियन 10 + nginx। मेरे मामले में, मैंने "डिफ़ॉल्ट" पृष्ठ को इस तरह से खोल दिया:
यदि आप डिजिटल महासागर में हैं, तो इसका मतलब है कि आपको / etc / nginx / sites-enable / और फिर rm -R digitalocean और default का उपयोग करके REMOVE करने की आवश्यकता है
इसने मेरे लिए इसे ठीक कर दिया!
rm -R previousServerFolderName
तो sudo service nginx restart
बनाने के लिए systemctl status nginx
शो "सक्रिय (चल)"
server {}
अपनाlisten
निर्देशन होना चाहिए ।