আমি কীভাবে উইন্ডোজ ফাইলের পাথগুলিকে এনজিএনএক্সে নির্দিষ্ট করব


22

আমি এনজিএনএক্সের অফিসিয়াল উইন্ডোজ সংস্করণটি ব্যবহার করছি। আমি এই কনফিগারেশনের সমতুল্য উইন্ডোজ নির্দিষ্ট করতে চাই

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

আমি কীভাবে ওরফে নির্দেশিকায় উইন্ডোজ ফাইলের পাথ নির্দিষ্ট করব? এটা কি সম্ভব?

উত্তর:


17

এই উত্তরগুলি অবশ্যই তারিখের বাইরে। ফরোয়ার্ড স্ল্যাশ সহ নিগিনেক্স 1.3.8 পরম পাথ ব্যবহার করে। ব্যাকস্ল্যাশগুলি কাজ করছে বলে মনে হচ্ছে তবে দ্বিগুণ করা উচিত। যদি সেগুলি না হয় তবে কিছু অনুসরণ যেমন \"আক্ষরিক অর্থে নেওয়া হয়।

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

উদ্ধৃতিগুলির প্রয়োজন হতে পারে না তবে এম্বেড থাকা জায়গাগুলির ক্ষেত্রে এগুলি একটি ভাল ধারণা বলে মনে হয়।

অন্য একটি জিনিস আমি লক্ষ্য করেছি যে একটি পেছনের স্ল্যাশ দিয়ে শেষ হওয়া বা না হওয়া সম্পর্কিত ইউআরএল এবং উরফের পথটি মিলানো গুরুত্বপূর্ণ - একটি অমিল এবং এটি কার্যকর হয় না।


এখনও nginx 1.8.1 এ কাজ করে
ড্যানিয়েল

হোয়াইটস্পেসগুলি পরিচালনা করতে আপনার উদ্ধৃতি ব্যবহারের পরামর্শটি আমাকে অনেক সাহায্য করেছে!
বীট করুন

5

যদি আপনি একটি নিখুঁত পাথ নির্দিষ্ট করার চেষ্টা করেন ...

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

... তারপরে সেই অবস্থান থেকে কোনও ফাইলের অনুরোধ করার পরে আপনি সম্ভবত সি: \ nginx \ লগ \ ত্রুটি দেখতে পাবেন \

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

উইন্ডোজে এনজিনেক্স কনফিগার করার সময়, সি: gin nginx ডিরেক্টরি সম্পর্কিত কোনও পাথ নির্দিষ্ট করুন। এইটা কাজ করে:

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

ব্যক্তিগতভাবে, আমি এটি শিখতে পেরে খুশি হয়েছিল কারণ এটি আমার এনগিনেক্স কনফিগারেশনগুলিকে উইন্ডোজ এবং লিনাক্সের মধ্যে যেটা প্রত্যাশা করেছিল তার চেয়ে কিছুটা বেশি পোর্টেবল করে তোলে। লিনাক্স কনফিগারেশন ফাইলটিকে উইন্ডোজে কাজ করে এমন একটিতে পরিণত করার জন্য, আমার কাছে এটি মূলত:

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

এটি nginx 1.9.10 এর সাথে কাজ করে, ধন্যবাদ!
NenadP

2

আপনি এটি চেষ্টা করতে পারেন:

  1. আপনার স্ট্যাটিক ফাইলগুলি এনজিনেক্স / এইচটিএমএল / স্ট্যাটিকফাইলে অনুলিপি করুন
  2. nginx.conf এ সেট করুন

    অবস্থান / স্ট্যাটিক / {ওরফে / এনগিনেক্স / এইচটিএমএল / স্ট্যাটিকফিলস /; }


1

দেখে মনে হচ্ছে যে আমার উইন্ডোজ সিস্টেমের জন্য ওরফে মোটেও কাজ করে না। আমি টাইপ করার চেষ্টা করেছি

alias "c:"

কিন্তু এটি কাজ করে না। কনফিগার ফাইলটি এনজিএনএক্স দ্বারা পুনরায় লোড করার পরে আমি অবস্থানটি আউটপুট দেওয়ার কোনও উপায় খুঁজে পাচ্ছি না। সুতরাং সহজভাবে উইন্ডোজগুলিতে এনজিনেক্সের জন্য উপকরণ ব্যবহার করবেন না।


alias ../../cde/folder;এনজিনেক্স ১..6..6 এর জন্য, নিম্নলিখিত সেটআপটি কাজ করে: অনুমান করুন আপনার ডিগ্রী ডাব্লু / সিএইচ / এনগিনেক্সে এনগিনেক্স.এক্সি লোকেশন, তবে যে ফোল্ডারটি আপনি ডি: / সিডি / ফোল্ডারে উলেস স্থানীয় করতে চেষ্টা করছেন। কিছু সূত্র উল্লেখ করেছে যে এনগিনেক্সটি সেই পথটির সাথে কঠোরভাবে কোডড ছিল /cygdrive/c/nginx/, যার ক্ষেত্রে alias /cygdrive/d/path/এটি ব্যবহার করা উচিত তবে এটি আমার পক্ষে কার্যকর হয় না। এও উল্লেখ করার উপযুক্ত যে, ওরফে পথের শেষে ফরোয়ার্ড স্ল্যাশ অবহেলা করা উচিত নয়।
টনিটনি

আমি লিনাক্স থেকে উইন 10 এ nginx.conf স্থানান্তর করার চেষ্টা করছি। এনজিনেক্স এক্সিকিউটেবলগুলি সি: gin এনজিনেক্সে রয়েছে, যেখানে পরিবেশন করা ফাইলগুলি ডি: / বেলারিয়া_উইব / হাউসে রয়েছে। প্রসঙ্গটি 'রুট ডি: / বেলেরিয়া_ওয়েব / হাউস /'; কাজ বলে মনে হচ্ছে না। কেউ কি ভুল বলতে পারে?
আগ

0

উইন্ডোজে এনগিনেক্সের জন্য আপনাকে এই পদ্ধতিটি ব্যবহার করতে হবে:

অবস্থান / ফু {

রুট সি: // প্যাথটোয়ারফাইল / ফোল্ডার 1 / ফোল্ডার 2;

} যেখানে foo ফোল্ডার 2 এর ভিতরে একটি আসল ফোল্ডার

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.