मैं निगनेक्स के लिए डिफ़ॉल्ट होस्ट कैसे सेट करूं?


11

मैं यह पता लगाने की कोशिश कर रहा हूं कि मेरे नगीनेक्स इंस्टॉलेशन के लिए डिफ़ॉल्ट होस्ट कैसे सेट किया जाए। मुझे यह लेख नग्नेक्स विकी में मिला:

http://wiki.nginx.org/NginxVirtualHostExample#A_Default_Catchall_Virtual_Host

दुर्भाग्य से, यह काम नहीं करता है। पुनः आरंभ करने के बाद मुझे यह मिलता है:

Restarting nginx: nginx: [emerg] unknown directive "http" in /etc/nginx/sites-enabled/catchall:1
nginx: configuration file /etc/nginx/nginx.conf test failed

Http निर्देश निकालने के बाद मुझे यह मिलता है:

Restarting nginx: nginx: [emerg] unknown log format "main" in /etc/nginx/sites-enabled/catchall:7
nginx: configuration file /etc/nginx/nginx.conf test failed

मैं Ubuntu 10.04.3 पर हूं, जहां मैं आधिकारिक nginx PPA का उपयोग कर रहा हूं। Nginx का संस्करण 1.0.9 चल रहा है।

जवाबों:


16

नेगनेक्स कॉन्फ़िगरेशन नेस्टेड ब्लॉक की एक श्रृंखला पर आधारित है। केवल एक http ब्लॉक होना चाहिए। यह आमतौर पर /etc/nginx/nginx.conf में परिभाषित किया जाता है - सभी शामिल फाइलें (जैसे उपलब्ध साइटों से) इस http ब्लॉक में शामिल हैं। डिफ़ॉल्ट / कैच-सभी होस्ट को सेटअप करने के लिए, आपको केवल अपने डिफ़ॉल्ट होस्ट के लिए सर्वर ब्लॉक अनुभाग की आवश्यकता होती है। यह सुनने के निर्देश में 'डिफ़ॉल्ट' जोड़कर पूरा किया गया है। इसके अतिरिक्त, एक server_name का उपयोग करना आम है जो किसी भी वास्तविक नाम से मेल नहीं खाएगा - आमतौर पर एक अंडरस्कोर ("_"), लेकिन अन्य वर्ण भी स्वीकार्य हैं। यदि आप डिफ़ॉल्ट पैरामीटर को छोड़ देते हैं, तो पहले सर्वर ब्लॉक को डिफ़ॉल्ट के रूप में माना जाता है। ( अधिक जानकारी के लिए Server_names के लिए nginx की मार्गदर्शिका देखें)

डिफ़ॉल्ट (इस संदर्भ में 'मूल') nginx कॉन्फ़िगरेशन में nginx.conf में एक डिफ़ॉल्ट (कैच-ऑल) सर्वर ब्लॉक शामिल हो सकता है जिसे आप कॉन्फ़िगर कर सकते हैं।

दूसरी त्रुटि के लिए, यह सुनिश्चित करें कि 'मुख्य' को nginx.conf में परिभाषित किया गया है (एक पंक्ति 'log_format main ...' से शुरू होनी चाहिए (और, निश्चित रूप से, अपने कोष्ठक की जाँच करें)। आप 'access_log_' लाइन को पूरी तरह से छोड़ सकते हैं। यदि आप अपने डिफ़ॉल्ट सर्वर के अनुरोधों को लॉग इन नहीं करना चाहते (या किसी नए प्रारूप को परिभाषित करके प्रारूप को बदल सकते हैं)।


यह तेज़ था। धन्यवाद। थोड़ा सोने के बाद कल यह कोशिश करो ;-)
उफ़्फ़ क्लोस

_ का उपयोग करते हुए server_name सर्वर की "डिफ़ॉल्टता" {} में नहीं जोड़ता है, इसका उपयोग आमतौर पर अन्य सर्वर ब्लॉकों के साथ परस्पर विरोधी से होने वाली लड़ाई को रोकने के लिए किया जाता है, इसलिए सुनने के निर्देश पर डिफ़ॉल्ट ध्वज के बारे में कोई 'ओवरराइड' नहीं है। सर्वर को डिफॉल्ट रूप से चिन्हित करना एकमात्र बात है। फिर भी,
कोलबीजैक

@kolbyjack - सुधार के लिए धन्यवाद - मैं इसे अपने उत्तर में ठीक करूंगा।
साइबरबरी86

-1

इसे इस्तेमाल करे। return 404जो भी डिफ़ॉल्ट कार्रवाई आप चाहते हैं के साथ बदलें ।

/server//a/946083/453080

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.