मैं निगनेक्स में विंडोज फ़ाइल पथ कैसे निर्दिष्ट करूं


22

मैं nginx के आधिकारिक विंडोज़ संस्करण का उपयोग कर रहा हूं। मैं इस कॉन्फ़िगरेशन के बराबर विंडो निर्दिष्ट करना चाहता हूं

location /static/ {
   alias /home/user/staticfiles/;
}

मैं उपनाम निर्देश में विंडोज़ फ़ाइल पथ कैसे निर्दिष्ट करूं? क्या यह भी संभव है?

जवाबों:


17

इन उत्तरों को पुराना होना चाहिए। आगे की स्लैश कार्यों के साथ नग्नेक्स 1.3.8 पूर्ण पथ का उपयोग करना। बैकस्लैश काम करने लगते हैं, लेकिन दोगुना होना चाहिए। यदि वे तब कुछ नहीं हैं, जैसे कि एक अनुगामी \"शाब्दिक रूप से लिया जाता है।

location /static/ {
    # alias "C:\\foo\\bar\\...\\static\\";
    alias "C:/foo/bar/.../static/";
    expires 90d;
}

उद्धरण की आवश्यकता नहीं हो सकती है, लेकिन वे एम्बेडेड रिक्त स्थान के मामले में एक अच्छे विचार की तरह लगते हैं।

एक और बात जिस पर मैंने गौर किया, वह यह है कि एक अनुगामी स्लैश या नहीं - एक बेमेल के साथ समाप्त होने के बारे में यूआरएल और उर्फ ​​पथ का मिलान करना महत्वपूर्ण है।


अभी भी नग्नेक्स 1.8.1 में काम करता है
डैनियल

व्हॉट्सएप को हैंडल करने के लिए उद्धरण का उपयोग करने की आपकी सलाह ने मुझे बहुत मदद की!
हराया

5

यदि आप एक पूर्ण पथ निर्दिष्ट करने का प्रयास करते हैं ...

location / {
    alias C:\Users\SomeUser\mysite\static;
}

... तो उस स्थान से एक फ़ाइल का अनुरोध करने पर, आपको संभवतः C: \ nginx \ log \ त्रुटि \ में दिखाई देगा। जैसे:

2011/11/11 12:53:16 [error] 6236#0: *1 open() "/cygdrive/c/nginx/C:\Users\SomeUser\mysite\static\somefile.css

Windows पर nginx को कॉन्फ़िगर करते समय, C: \ nginx निर्देशिका के सापेक्ष कोई भी पथ निर्दिष्ट करें। यह काम:

location / {
    alias ../Users/SomeUser/mysite/static;
}

व्यक्तिगत रूप से, मुझे यह जानकर खुशी हुई क्योंकि यह मेरे nginx कॉन्फ़िगरेशन को विंडोज और लिनक्स के बीच थोड़ा अधिक पोर्टेबल बनाता है, जितना मैंने उनसे होने की उम्मीद की थी। विंडोज पर काम करने वाले लिनक्स विन्यास फाइल को चालू करने के लिए, मेरे लिए यह मूल रूप से सिर्फ:

s|/home/myname/|../Users/Myname|

यह नाइजंक्स 1.9.10 के साथ काम करता है, धन्यवाद!
नेनादप

2

आप यह कोशिश कर सकते हैं:

  1. अपनी स्टैटिक फ़ाइलों को nginx / html / staticfiles में कॉपी करें
  2. nginx.conf में सेट करें

    स्थान / स्थिर / {अन्य उपनाम / nginx / html / staticfiles /; }


1

ऐसा लगता है कि उपनाम मेरे विंडोज़ सिस्टम के लिए बिल्कुल भी काम नहीं करता है। मैंने टाइप करने की कोशिश की

alias "c:"

लेकिन यह भी काम नहीं करता है। और मुझे nginx द्वारा config फाइल को फिर से लोड किए जाने के बाद स्थान को आउटपुट करने का कोई तरीका नहीं मिल रहा है। तो बस nginx के लिए खिड़कियों में उपनाम का उपयोग न करें।


alias ../../cde/folder;Nginx 1.5.6 के लिए, निम्न सेटअप काम करता है: मान लीजिए कि आपका nginx.exe डी: / abc / nginx पर स्थित है, लेकिन आप जिस फ़ोल्डर को d: / cde / फ़ोल्डर में खोजने का प्रयास करते हैं। कुछ स्रोतों का उल्लेख है कि नग्नेक्स को पथ के साथ हार्डकोड किया गया था /cygdrive/c/nginx/, जिसमें मामले alias /cygdrive/d/path/का उपयोग किया जाना चाहिए, लेकिन यह मेरे लिए काम नहीं करता है। यह भी उल्लेख के लायक है कि उर्फ ​​पथ के अंत में आगे कीचड़ को उपेक्षित नहीं किया जाना चाहिए।
टोनीटोनी

मैं linux से win10 में nginx.conf माइग्रेट करने का प्रयास कर रहा हूं। Nginx निष्पादक C: \ nginx में हैं, जबकि सेवा की गई फाइलें D: / bellaria_web / haus पर हैं। संदर्भ 'मूल D: / bellaria_web / haus /;) काम नहीं लगता है। क्या कोई समझा सकता है कि क्या गलत है?
अंज

0

खिड़कियों पर Nginx के लिए आपको इस विधि का उपयोग करना होगा:

स्थान / फू {

रूट C: // pathtoyourfile / folder1 / folder2;

} जहां foo फ़ोल्डर 2 के अंदर एक वास्तविक फ़ोल्डर है

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