ubuntu Nginx साइट-सक्षम, साइट-उपलब्ध: उबंटू 12.04 में कॉन्फ़िगरेशन फ़ाइलों के बीच सॉफ्ट-लिंक नहीं बना सकता



symlink hardlink (1)

मैं साइट-सक्षम और साइट-उपलब्ध निर्देशिकाओं में / etc / nginx / में सर्वर ब्लॉक वाले कॉन्फ़िगरेशन फ़ाइलों के बीच सॉफ्ट लिंक बनाने की कोशिश कर रहा हूं।

मैं जिस कमांड का उपयोग कर रहा हूं वह है:

sudo ln -s sites-available/foo.conf sites-enabled/

जब मैं निष्पादित करता हूं:

ls -l

परिणाम है:

lrwxrwxrwx 1 parallels parallels 27 Aug  6 20:44 immigrationinformation.conf -> immigrationinformation.conf

जहां immigrationinformation.conf -> immigrationinformation.conf भाग में लाल टाइपफ़ेस वाला चारकोल होता है।

जब मैं इस सॉफ्ट-लिंक को आजमाकर एक्सेस करता हूं, तो मुझे बताया जाता है कि यह टूटा हुआ है।

जब मैं साइटों-उपलब्ध निर्देशिका यानी में सॉफ्ट-लिंक बनाते हैं

sudo ln -s sites-available/foo.conf sites-available/foo_link.conf

यह सामान्य के रूप में काम करता है। हालांकि, अगर मैं इसे साइट-सक्षम निर्देशिका में ले जाता हूं, तो लिंक फिर से टूटा हुआ है।

मैं फ़ाइल प्रबंधक जीयूआई के माध्यम से मुलायम लिंक बना सकता हूं लेकिन कमांड लाइन के माध्यम से नहीं। मैं बिना किसी समस्या के हार्ड-लिंक भी बना सकता हूं।

मुझे संदेह था कि यह एक अनुमति मुद्दा था इसलिए मैंने दोनों निर्देशिकाओं और निर्देशिकाओं के 777 के लिए सभी अनुमतियों को सेट करने और रूट के अलावा अन्य चीज़ों को बदलने के लिए चारों ओर खेला है, लेकिन अभी भी कोई भाग्य नहीं है।

किसी भी मदद की मुझे बहुत सराहना की जाएगी, धन्यवाद।


आपको यह समझकर शुरू करना होगा कि सिम्लिंक का लक्ष्य पथ पथ है। और यह निर्देशिका के पूर्ण या सापेक्ष हो सकता है जिसमें सिम्लिंक होता है

मान लें कि आपके पास साइट-उपलब्ध में foo.conf है

प्रयत्न

cd sites-enabled
sudo ln -s ../sites-available/foo.conf .
ls -l

अब आपके पास साइट्स-सक्षम नामक एक सिमलिंक होगा जिसे foo.conf कहा जाता है जिसका लक्ष्य है ../sites-available/foo.conf

बस स्पष्ट होने के लिए, अपाचे के लिए सामान्य कॉन्फ़िगरेशन यह है कि संभावित साइटों के लिए कॉन्फ़िगरेशन फ़ाइलें साइट-साइट पर उपलब्ध होती हैं और सक्षम साइट्स के लिए सिम्लिंक साइट-सक्षम में रहते हैं, जो साइट्स पर उपलब्ध लक्ष्यों पर इंगित करते हैं। ऐसा लगता है कि जिस तरह से आप अपने सेटअप का वर्णन करते हैं, लेकिन यह आपकी प्राथमिक समस्या नहीं है।

यदि आप एक ही फाइल पर हमेशा एक सिल्लिंक चाहते हैं, सिमलिंक कहां स्थित है, इस पर ध्यान दिए बिना, लक्ष्य पूर्ण पथ होना चाहिए।

ln -s /etc/apache2/sites-available/foo.conf mysimlink-whatever.conf

मेरे ls -l / etc / apache2 / साइट-सक्षम के आउटपुट (लाइन 1 का) यहां है:

lrwxrwxrwx 1 root root  26 Jun 24 21:06 000-default -> ../sites-available/default

देखें कि सिम्लिंक का लक्ष्य निर्देशिका से संबंधित है जिसमें सिम्लिंक होता है (यह ".." से शुरू होता है जिसका मतलब है एक निर्देशिका ऊपर जाना)।

हार्डलिंक पूरी तरह से अलग हैं क्योंकि हार्डलिंक का लक्ष्य निर्देशिका प्रविष्टि नहीं है बल्कि एक फाइलिंग सिस्टम इनोड है।





hardlink