এনজিঙ্কস ডিফল্ট পাবলিক www এর অবস্থান?


302

আমি এ্যাপাচি সঙ্গে আগে কাজ করেছি, তাই আমি সচেতন ডিফল্ট সর্বজনীন ওয়েব রুট সাধারণত হয় am /var/www/

আমি সম্প্রতি এনজিনেক্সের সাথে কাজ শুরু করেছি, তবে আমি ডিফল্ট পাবলিক ওয়েব মূল খুঁজে পাচ্ছি না।

এনগিনেক্সের জন্য আমি ডিফল্ট পাবলিক ওয়েব রুটটি কোথায় খুঁজে পাব?

উত্তর:


166

যদি আপনার কনফিগারেশনে কোনও root /some/absolute/path;বিবৃতি অন্তর্ভুক্ত না থাকে , বা এটিতে এমন একটি সম্পর্কযুক্ত পথ অন্তর্ভুক্ত করে root some/relative/path;, তবে ফলস্বরূপ পথটি সংকলন-সময় বিকল্পগুলির উপর নির্ভর করে।

সম্ভবত আপনি যদি উত্সটি ডাউনলোড এবং সংকলন করেন তবে কেবলমাত্র এটিই আপনার পক্ষে এটির অর্থ কী তা সম্পর্কে শিক্ষিত অনুমান করতে পারবেন । সেক্ষেত্রে পাথগুলি যা --prefixব্যবহৃত হত তার সাথে আপেক্ষিক হবে । আপনি যদি এটি পরিবর্তন না করেন তবে এটি ডিফল্ট হয় /usr/local/nginx। আপনি দেখতে পাচ্ছেন যে পরামিতিগুলি nginx এর মাধ্যমে সংকলিত হয়েছিল nginx -V, এটি --prefixপ্রথমটিকে তালিকাভুক্ত করে।

যেহেতু করতে নির্দেশ অক্ষমতা , এই, অবশ্যই, স্থাপিত হবে আপনার প্রশ্নের উত্তর হচ্ছে।roothtml/usr/local/nginx/html

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


32
আপনি সম্ভবত একটি ইঙ্গিত দিতে পারেন যে আপনি "এনগিনেক্স-ভি" (বড় হাতের ভি) ব্যবহার করতে পারেন এনজিএনএক্স সংকলনের জন্য ব্যবহৃত কনফিগারেশন আর্গুমেন্টগুলি আবিষ্কার করতে।
কাউফোল্ডার

1
@kaufholdr আপনি --prefix @ Gnarfoz এই --prefix = / usr / share / nginx অনুরূপ উল্লিখিত পাবেন সঠিক
দুং

6
এটি অ্যামাজন লিনাক্সের জন্য, কোন ওএস ইনস্টলেশনটি রয়েছে তার উপরও নির্ভর করে ডিরেক্টরিটি: / usr / share / nginx / html
jeffmcneill

--Prefix পাথ সর্বদা সঠিক হয় না। আমার ডিবিয়ান 9 এনগিনেক্সে প্রিফিক্স পাথটি "/ var / www / html" ইনস্টল করা হয়েছিল তবে এটির হিসাবে অ্যাকুটাল ডিফল্ট পাথটি ছিল "/ usr / share / nginx / html"। / Etc / nginx / সাইট-উপলভ্য / ডিফল্টে ডিফল্ট কনফিগারেশন ফাইলটি দেখে --prefix পাথের মতো হওয়ার পথটি দেখায়। তবে /etc/nginx/conf.d/default.conf এ অবস্থিত কনফিগারেশন ফাইলটি মূলটিকে / usr / share / nginx / html হিসাবে তালিকাভুক্ত করে। ডিফল্টকনফ ফাইলটি সাধারণ ডিফল্ট ফাইলের চেয়ে বেশি নজরে আসে। কনফিগারেশন ফাইলগুলি উভয়ই পরীক্ষা করে নেওয়ার বিষয়টি নিশ্চিত হন বা আপনি সম্ভবত ভুল মূল দিয়ে কাজ করছেন।
ক্যাভম্যান 21

1
nginx -V 2>&1 | grep --color -o -e '--prefix=[^[:space:]]\+'আপনাকে nginx হোম দেয়।
sjas

436

যদি অ্যাপটি-গেট ব্যবহার করে উবুন্টুতে ইনস্টল করা থাকে তবে চেষ্টা করুন /usr/share/nginx/www

সম্পাদনা করুন:

আরও সাম্প্রতিক সংস্করণগুলিতে পথটি এতে পরিবর্তিত হয়েছে: /usr/share/nginx/html

2019 সম্পাদনা:

/var/www/html/index.nginx-debian.htmlখুব চেষ্টা করতে পারে।


113
উবুন্টুতে এনজিএনএক্স 1.4.1 এ / ইউএসআর / শেয়ার / এনগিনেক্স / এইচটিএমএল
নিক দেশালনিয়ার্স

আমি সবেমাত্র রাস্পবেরিতে এনজিন্স ইনস্টল করেছি, ডিফল্ট ডিরেক্টরিটি লুফিক্স +1 দ্বারা লেখা। থেকে raspbian ডাউনলোড হওয়া উপর apt-get
Mitro


2
ডেবিয়ান অ্যাপট-গেট, চেক / ইত্যাদি / এনজিনেক্স / উপলভ্য সাইটগুলি / ডিফল্ট - আমি সেখানে পথটি পেয়েছি।
ক্রিস.জু

7
উবুন্টু 16 /var/www/html/index.nginx-debian.html
উজ্জ্বল

65

ডেবিয়ানের ডিফল্ট Nginx ডিরেক্টরিটি /var/www/nginx-default

আপনি ফাইলটি পরীক্ষা করতে পারেন: /etc/nginx/sites-enabled/default

এবং খুঁজো

server {
        listen   80 default;
        server_name  localhost;

        access_log  /var/log/nginx/localhost.access.log;

        location / {
                root   /var/www/nginx-default;
                index  index.html index.htm;
        }

মূলটি ডিফল্ট অবস্থান।


5
CentOS এ, আমি দেখেছি যে কোনও / etc / nginx / সাইটগুলি সক্ষম / ফোল্ডার নেই। /etc/nginx/conf.d/ রয়েছে এবং সেখানে দুটি ফাইল সার্ভার.কম এবং ভার্চুয়াল.কনফের এই সার্ভারের বিশদ রয়েছে। আপনি এটি জন্য সন্ধান করতে পারেন।
নাফিস আহমেদ

1
নাফিসের মন্তব্যে যোগ করতে, কনফ। ডি ডিরেক্টরিতে ফাইলের নাম অবশ্যই .conf এ শেষ হওয়া উচিত বা সেগুলি নেওয়া হবে না।
ইথান হোহেনসি

1
এটি কেবলমাত্র তখনই প্রয়োগ হয় যদি ডিফল্ট সাইটটি সক্ষম থাকে এবং অনুরোধটির সাথে মেলে। অন্যথায় ডিফল্ট রুট হয় html
অরেঞ্জডগ

@ ওরেঞ্জডগ default siteসক্ষম করা আছে কিনা তা কীভাবে পরীক্ষা করবেন ?
টিমো

1
@ টিমো এই উত্তরটি কীভাবে বলেছে
অরেঞ্জডগ

43

'ডিফল্ট পাবলিক ওয়েব রুট' nginx -V আউটপুট থেকে পাওয়া যাবে:

nginx -V
nginx version: nginx/1.10.1
built with OpenSSL 1.0.2h  3 May 2016
TLS SNI support enabled
configure arguments: --prefix=/var/lib/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --pid-path=/run/nginx/nginx.pid --lock-path=/run/nginx/nginx.lock --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --user=nginx --group=nginx --with-ipv6 --with-file-aio --with-pcre-jit --with-http_dav_module --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_v2_module --with-http_auth_request_module --with-mail --with-mail_ssl_module

--prefix মান হ'ল প্রশ্নের উত্তর। মূলের উপরের নমুনার জন্য / var / lib / nginx


1
হ্যাঁ, সেরা, এবং ক্রস প্ল্যাটফর্ম।
জেসি অ্যাডেলম্যান

এটি সর্বদা সঠিক নয় কিছু সিস্টেমের জন্য "--prefix" ব্যবহার করা যেতে পারে তবে সমস্ত ক্ষেত্রে নয়। আমি সম্মত হই না এনজিনেক্স-ভি আপনাকে প্রচুর তথ্য দেয় যা ফাইলগুলি কোথায় রয়েছে তা ট্র্যাক করতে সহায়তা করবে তবে এটি ওএসের উপর নির্ভর করে। ফ্রিবিএসডি-তে IE "" -প্রিফিক্স "যাই হোক না কেন," / usr / স্থানীয় / www "এর মধ্যে নেই এবং কিছু লিনাক্সের ডিস্ট্রোজে এটি ডিফারও হতে পারে। কনফিগারেশনে সন্ধান করা এটি সেরা।
মিকেক

"--prefix" হল GNU স্ট্যান্ডার্ড দ্বারা নির্ধারিত পরিবর্তনশীল - gnu.org/prep/standards/html_node/Directory-Variables.html দেখুন
সার্জ এস

"--prefix" হল GNU স্ট্যান্ডার্ড দ্বারা নির্ধারিত পরিবর্তনশীল - gnu.org/prep/standards/html_node/Directory-Variables.html দেখুন । nginx মান অনুসরণ করে। আপনি যদি কনফিগারেশন ফাইলে রুট বা অবস্থান নির্ধারণ না করেন (--conf- পাথের উপর নির্ভর করে) উপসর্গটি দেখাবে যেখানে 'ডিফল্ট পাবলিক ওয়েব রুট' অবস্থিত। এবং এটি ওএসের উপর নির্ভর করে না, যদিও কোনও ওএস বিতরণ সরবরাহিত প্যাকেজ এছাড়াও এমন একটি কনফিগারেশন সরবরাহ করতে পারে যা 'ডিফল্ট পাবলিক ওয়েব রুট'কে পুনরায় সংজ্ঞায়িত করে।
সার্জ এস

তাই আলগোরিদিম জন্য বর্ণন --conf-পাথ মধ্যে nginx -V আউটপুট। যদি অবস্থান / বা রুট কনফিগ মধ্যে পুনরায় সংজ্ঞায়িত না - ব্যবহার --prefix জন্য অবস্থান 'সর্বজনীন ওয়েব রুট ডিফল্ট'।
সার্জ এস

25

ম্যাক ওএস এক্সে ব্রিউয়ের সাথে এনগিনেক্স ইনস্টল করা ডিফল্ট ডিরেক্টরি করে:

/usr/local/var/www

তাই:

root html

মানে

root /usr/local/var/www/html

কোনও এইচটিএমএল ডিরেক্টরি নেই তাই এটি ম্যানুয়ালি তৈরি করতে হবে।


1
ম্যাকোস এবং হোমব্রু উল্লেখ করার জন্য +1। যাইহোক, আমি দেখা গেছে যে যদিও root html, index.htmlএবং 50x.htmlসরাসরি রাখা হয় /usr/local/var/www। সুতরাং, আমি htmlফোল্ডারের উপস্থিতি নিয়ে সন্দেহ করি doubt আপনি কি আমাকে কিছু সাহায্য করতে পারেন?
iplus26

3
"ব্রিউ ইনফরমেশন এনগিনেক্স" আউটপুটে তালিকাভুক্ত ডকরুট দেয়। তবে একটি এনজিএনএক্স কনফিগারেশনে "রুট এইচটিএমএল" উল্লেখ করা সেই এনজিনেক্স কনফিগারেশনের জন্য ডক্রোটকে পরিবর্তন করে।
ফ্রিগনু

1
আমার জন্য (ম্যাক ওএস এক্স এল ক্যাপিটান 10.11.5) এবং মিশ্রিতকরণ (1.1.5), ডিরেক্টরিটি ছিল /usr/local/Cellar/nginx/1.10.2_1/html যেখানে 1.10.2_1 nginx সংস্করণ।
যোগেশ যাদব

2
আমার সংমিশ্রণে সেলার ডিরেক্টরিটি একটি সিমিলিংক: /usr/local/Cellar/nginx/1.12.0_1/html -> ../../../var/www/এবং nginx -V শোগুলি: --prefix=/usr/local/Cellar/nginx/1.12.0_1তাই root htmlসেই লিঙ্কটির মাধ্যমে পুনঃনির্দেশিত।
মার্ক এডিংটন

@ আইপ্লাস 26 এইচটিএমএল ডিরেক্টরিটি ইতিমধ্যে উপলব্ধ / ইউএসআর / লোকাল /
সেলার

21

আপনি সহজেই আপনার ওয়েবসাইটের স্থানে nginx এর মূল ফোল্ডারটি মানচিত্র করতে পারেন :

nano /etc/nginx/sites-enabled/default

ডিফল্ট ফাইলের ভিতরে সার্ভার ট্যাগের মূলটি অনুসন্ধান করুন এবং আপনার ওয়েবসাইটের ডিফল্ট ফোল্ডারটি পরিবর্তন করুন, যেমন আমার ওয়েবসাইটগুলি / var / www এ রয়েছে

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www; <-- Here!
...

আমি যখন এনজিনেক্স, অ্যাপাচি 2 এবং লাইটটিপিডি মূল্যায়ন করছিলাম তখন আমি / var / www এ বসে তাদের সমস্তকে আমার ওয়েবসাইটে ম্যাপ করেছি । দক্ষতার সাথে মূল্যায়নের সেরা উপায়টি আমি খুঁজে পেয়েছি।

তারপরে আপনি আপনার পছন্দের সার্ভারটি শুরু / বন্ধ করতে পারেন এবং দেখতে পারেন কোনটি সবচেয়ে ভাল করে।

যেমন

service apache2 stop
service nginx start

বিটিডব্লিউ, এনগিনেক্স আসলে খুব দ্রুত!


19

যেমনটি এখানে বেশিরভাগ ব্যবহারকারী বলেছেন, এটি এই পথে চলছে:

/usr/share/nginx/html

এটি ডিফল্ট পাথ, তবে আপনি নিজেরটি তৈরি করতে পারেন।

আপনার যা দরকার তা হ'ল ওয়েব সার্ভারের মূল গাছটিতে একটি তৈরি করা এবং "0777 নয়" এর জন্য কিছু অনুমতি এবং কেবলমাত্র একজন ব্যবহারকারীর জন্য এবং কেবল সেই ব্যবহারকারীর কাছে দৃশ্যমান, তবে পথের শেষটি পথের শেষের পর থেকে সবার কাছে দৃশ্যমান আপনার ফাইল এবং ফোল্ডারগুলি জনসাধারণের দ্বারা দেখা হবে।

উদাহরণস্বরূপ, আপনি এটির মতো একটি তৈরি করতে পারেন:

home_web/site1/public_html/www/

আপনি যখনই এনগিনেক্সে ভার্চুয়াল হোস্ট তৈরি করেন আপনি নিজের রুট পাথ কাস্টমাইজ করতে পারেন, ঠিক আপনার সার্ভার ব্লকে এই জাতীয় কিছু যুক্ত করুন:

 server {
    listen  80;
        server_name  yoursite.com;

root /home_web/site1/public_html/www/;
}

হ্যাঁ আপনি ঠিক বলেছেন। আমি মাত্র আমার সেন্টোস 7 এ এনগিনেক্স ইনস্টল করেছি এবং আমি লক্ষ্য করেছি যে ডিফল্ট পাথ /usr/share/nginx/html/ফোল্ডার। (সুরক্ষা বা অন্য কোনও কারণে) সেই পথটি পরিবর্তনের কোনও কারণ আছে কি? আমি যদি একমাত্র ব্যবহারকারী হতে চলেছি এবং যদি আমি এটিতে কেবল 1 টি ওয়েবসাইট হোস্ট করতে যাচ্ছি তবে এটি ডিফল্ট ফোল্ডারে রেখে দেওয়া কি ঠিক আছে?
নীল

আমার শেষ প্রশ্নটি মনে করবেন না। আমি এটির জন্য পৃথক ফোল্ডার তৈরি শেষ করেছি যেহেতু আমি ভবিষ্যতে এই সেট আপটিতে বিভিন্ন ভোস্ট যুক্ত করতে চাই না কেন এটি এর চেয়ে ভাল thought এটি এইভাবে সহজ। চিয়ার্স :)
নীল

11

এনগিনেক্সের জন্য ডিফল্ট ওয়েব ফোল্ডারটি আপনি কীভাবে এটি ইনস্টল করেছেন তার উপর নির্ভর করে তবে সাধারণত এটি এই অবস্থানগুলিতে থাকে:

/usr/local/nginx/html
/usr/nginx/html

10

উবুন্টু এবং ডকার চিত্রগুলির জন্য:

 /usr/share/nginx/html/

শুধু কৌতূহলী, বলুন যে আমি এটি জানতাম না, আমি কীভাবে সঠিক অবস্থানটি আবিষ্কার করব?
এটির

যতদূর আমার মনে আছে আমি "এনগিনেক্স" (অনুসন্ধান / -ਨਾਮ এনগিনেক্সের মতো কিছু) অনুসন্ধান করেছি এবং এই ডিরেক্টরিটির ভিতরে (বা এর উপ-ডিরেক্টরিতে) আমার ব্রাউজারে উপস্থিত নথিটি পেয়েছি।
দিমিডাক

9

কমান্ডটি চালান nginx -V এবং এর জন্য সন্ধান করুন --prefix। আপনার ডিফল্ট পাথগুলি সনাক্ত করতে সেই এন্ট্রিটি ব্যবহার করুন।


9

কনফিগারেশন ডাম্প:

$ nginx -T
...
server {
    ...
    location / {
        root   /usr/share/nginx/html;
        ...
    }
    ...
}

আপনি কী পান তা কীভাবে আপনার nginxকনফিগার করা / ইনস্টল করা হয়েছিল তার উপর নির্ভর করে ।

তথ্যসূত্র:

আপডেট: / কখন -Tবিকল্পটি যুক্ত হয়েছিল তা নিয়ে কিছু বিভ্রান্তি রয়েছে nginx। এটি ২০১৫ সালের ১ v জুন ভিএল-হোমুটোভের ম্যান পেজে নথিভুক্ত করা হয়েছিল , যা ভি ১.৯.২ প্রকাশের অংশ হয়ে গেছে । এমনকি এটি প্রকাশিত নোটগুলিতে উল্লেখ করা হয়েছে । -Tবিকল্প যে উপস্থিত হয়েছে nginxযেহেতু রিলিজ, এক উবুন্টু 16.04.1 LTS এ উপলব্ধ অন্তর্ভুক্ত রয়েছে:

root@23cc8e58640e:/# nginx -h    
nginx version: nginx/1.10.0 (Ubuntu)
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -T            : test configuration, dump it and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /usr/share/nginx/)
  -c filename   : set configuration file (default: /etc/nginx/nginx.conf)
  -g directives : set global directives out of configuration file

আমি মনে করি না এই পতাকাটি বিদ্যমান, আপনার উত্তরটি আপডেট করতে হতে পারে
lfender6445

@ ifender6445, আমি আপনার মন্তব্যে পুরোপুরি বিভ্রান্ত। উত্সের রেখাগুলিতে আমার দুটি উল্লেখ রয়েছে, প্রতিটি -Tঅপশন দেখায় । -Tবিকল্পটি কি আপনার নির্দিষ্ট ইনস্টলেশন থেকে অনুপস্থিত? আপনার দাবিটি প্রমাণ করার জন্য আপনি কি কিছু দেখাতে পারেন?
রবিক্স

হ্যাঁ এটি, এনগিনেক্সের আলাদা সংস্করণ হতে পারে? gist.github.com/lfender6445/ed8c5e26db64eba595ae4aaf4d15ee0d
lfender6445

আমি দেখি. দেখে মনে হচ্ছে আমি এনগিনেক্সের একটি পুরানো সংস্করণ ব্যবহার করছি, ক্ষমা চাই!
lfender6445

9

নিশ্চিত হওয়ার জন্য nginx কনফিগারেশন ফাইলটি দেখুন। আপনার মেশিনে যা কিছু কনফিগার করা হয়েছে তার জন্য এই কমান্ডটি গ্রেপ করে:

cat /etc/nginx/sites-enabled/default |grep "root"

আমার মেশিনে এটি ছিল: `রুট / ইউএসআর / শেয়ার / এনগিনেক্স / www;


8

ম্যাকে ব্রিউ সহ এনগিনেক্স ইনস্টল করুন:

/usr/local/etc/nginx/nginx.conf

location / { 
    root   html;  # **means /usr/local/Cellar/nginx/1.8.0/html and it soft linked to /usr/local/var/www**
    index  index.html;
}  

8

CentOS, উবুন্টু এবং ফেডোরার জন্য, ডিফল্ট ডিরেক্টরি /usr/share/nginx/html


আমি nginx মূল থেকে চাই var/www/html
duদুক মিতেশ


5

আমার ক্ষেত্রে এটি ছিল /usr/share/nginx/html

আপনি একটি অনুসন্ধান সম্পাদন করে খুঁজে পেতে চেষ্টা করতে পারেন

find / -name html

5

আপনি যদি উবুন্টু 14.04 এ থাকেন তবে আপনি নিম্নলিখিত পথে nginx www ডিরেক্টরি খুঁজে পেতে পারেন:

yusuf@yusuf-he:/usr/share/nginx/html$ pwd
/usr/share/nginx/html
yusuf@yusuf-he:/usr/share/nginx/html$

ধন্যবাদ, সংক্ষিপ্ত সংক্ষিপ্ত এবং নির্ভুল কখনও কখনও সহজ ব্যাখ্যা সেরা হয়।
আইয়াল

আমি nginx মূল থেকে চাই var/www/html
duদুক মিতেশ

5

তারা এটি কোথায় স্থানান্তরিত করেছিল তা বিবেচনা করেই আপনি এটি অনুসন্ধান করতে পারেন (সিস্টেম অ্যাডমিন সরানো বা এনগিনেক্সের নতুন সংস্করণ)

সন্ধান / -নাম nginx


4

সংকলনের সময় সংজ্ঞায়িত এমন nginx পাবলিক রুট ফোল্ডারটি যদি আপনার সন্ধান করতে হয় তবে আপনি কেবল আপনার অ্যাক্সেস.লগ ফাইলটি পরীক্ষা করতে পারেন।

  1. Nginx.conf খুলুন
  2. লগ- ফর্ম্যাট নির্দেশিকাটি সন্ধান করুন
  3. লগ_ফর্ম্যাটটির মান হ'ল একটি টেম্পলেট স্ট্রিং যা অ্যাক্সেস.লগ ফাইলটিতে তথ্য লেখার জন্য ব্যবহৃত হয় । আপনি কোনও ফাইলে ডিফল্ট www মূল অবস্থান লগ করতে এই টেম্পলেট স্ট্রিংয়ে $ ডকুমেন্ট_রোট ভেরিয়েবল যুক্ত করতে পারেন ।

পরিবর্তিত লগ- ফর্ম্যাট নির্দেশের সাথে এনগিনেক্স.কনফের http বিভাগের একটি উদাহরণ এখানে রয়েছে : স্ট্রিংয়ের শুরুতে $ ডকুমেন্ট_রোট যুক্ত করা হয়েছে:

    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;

                  ## ADD $document_root HERE ##
        log_format  main  '$document_root $remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';

        access_log  /var/log/nginx/access.log  main;

        etc. .......
  1. তারপরে কনফিগারেশন ফাইলগুলিতে সমস্ত কনফিগারেশন ফাইল * .conf ব্যাকআপ করুন এবং নিম্নলিখিত লাইনের সাহায্যে কনফিগারেশন ফাইল তৈরি করুন, টেস্ট.কনফ :

    server{
        listen 80;
        server_name localhost;
    }
    
    1. নিম্নলিখিত লাইনটি / ইত্যাদি / হোস্ট ফাইলগুলিতে যুক্ত করুন: 127.0.0.1 localhost

    2. Nginx কনফিগারেশন পুনরায় লোড করুন: nginx -s reload

    3. জিইটি অনুরোধটি http: // লোকালহোস্টে প্রেরণ করুন :curl http://localhost

    4. এক্সেস.লগের শেষ স্ট্রিংটি পরীক্ষা করুন :tail -n 1 /var/log/nginx/access.log

এই কমান্ডের নমুনা আউটপুট এখানে দেওয়া হয়েছে, যেখানে / etc / nginx / html হল সংকলনের সময় নির্ধারিত ডিফল্ট নথি মূল:

    /etc/nginx/html 127.0.0.1 - - [15/Mar/2017:17:12:25 +0200] "GET / HTTP/1.1" 404 169 "-" "curl/7.35.0" "-"

দেখে মনে হচ্ছে এটি কাজ করে, তবে আমার কোনও সমাধান হয়নি, * .knexusgroup.com এর একটি রেকর্ড 54.235.222.119, w3.knexusgroup.com এ রয়েছে তবে এটি কোনও ডোমেইনের জন্য << কিছুই> .knexusgroup.com লগ করেনি। এটি যেখানে রুট ডিরের যথাযথ সংজ্ঞা রয়েছে সেখানে কাজ করে, আমি কী ইস্যু করছে তা নির্ধারণ করতে পারছি না, কেন আমি কোনও সাব ডোমেনের জন্য কোনও রুট খুঁজে পাচ্ছি না যা কোনও এনজিইএনএক্স কনফিগারেশনের সাথে মেলে না।
রামরতন গুপ্ত

4

আপনি ফাইল কনফিগারেশন nginx অ্যাক্সেস করতে পারেন, আপনি রুট / পাথ দেখতে পাবেন। এ nginx অ্যাপাচি এর ডিফল্ট এ/var/www/html


/var/www/htmlঅ্যাপাচি এর জন্য ডিফল্ট ওয়েব মূল, এনজিনেক্স নয়।
ইথান হোহেনসি

4

* ভার্জ / www / এইচটিএমএল ডিফল্ট পৃষ্ঠাগুলি ওয়েব বরাদ্দ * ডিফল্ট কনফিগারেশন সার্ভার ইত্যাদি / এনগিনেক্স / সাইটস / উপলব্ধ / এনগিনএক্স.কম

server {

    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;

    index index.html index.php;

    server_name _;

    location /data/ {
        autoindex on;
    }

    location /Maxtor {
        root /media/odroid/;
        autoindex on;

    }

        # This option is important for using PHP.
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
    }
}

* ডিফল্ট কনফিগারেশন সার্ভার ইত্যাদি / nginx / nginx.conf

বিষয়বস্তু ..

user www-data;
worker_processes 8;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
    worker_connections 768;
    # multi_accept on;
}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    # server_tokens off;

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # SSL Settings
    ##

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;

    ##
    # Logging Settings
    ##

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##

    gzip on;

    # gzip_vary on;
    # gzip_proxied any;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    ##
    # Virtual Host Configs
    ##

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}


#mail {
#   # See sample authentication script at:
#   # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
# 
#   # auth_http localhost/auth.php;
#   # pop3_capabilities "TOP" "USER";
#   # imap_capabilities "IMAP4rev1" "UIDPLUS";
# 
#   server {
#       listen     localhost:110;
#       protocol   pop3;
#       proxy      on;
#   }
# 
#   server {
#       listen     localhost:143;
#       protocol   imap;
#       proxy      on;
#   }
#}

আইপি ক্লায়েন্টদের সাথে ডিফল্ট অ্যাক্সেস লগগুলি লগ / লগ / এনগিনেক্স / ...


3

কেবলমাত্র লক্ষ করুন যে এনজিনেক্স সার্ভারের জন্য ডিফল্ট সূচক পৃষ্ঠাটিও মূল অবস্থানটি প্রদর্শন করবে। অ্যামাজন লিনাক্স এএমআই-এর এনগিনেক্স (1.4.3) থেকে আপনি নিম্নলিখিতটি পান:

এটিই ডিফল্ট সূচক html পৃষ্ঠা যা অ্যামাজন লিনাক্স এএমআই-তে এনজিনেক্সের সাথে বিতরণ করা হয়। এটি / usr / share / nginx / html এ অবস্থিত।

আপনার এখন আপনার সামগ্রীটি আপনার পছন্দের কোনও স্থানে রাখা উচিত এবং এনগিনেক্স কনফিগারেশন ফাইল /etc/nginx/nginx.conf এ মূল কনফিগারেশন নির্দেশিকাটি সম্পাদনা করা উচিত


3

উবুন্টুতে আমার এনগিনেক্সটি হ'ল "এনগিনেক্স সংস্করণ: এনগিনেক্স / 1.9.12 (উবুন্টু)" এবং মূল পাথটি হ'ল / ভার / www / এইচটিএমএল /

উবুন্টু তথ্যটি: কোনও এলএসবি মডিউল উপলব্ধ নেই। ডিস্ট্রিবিউটর আইডি: উবুন্টু বর্ণনা: উবুন্টু 16.04 এলটিএস প্রকাশ: 16.04 কোডনাম: জেনিয়াল

প্রকৃতপক্ষে, আপনি যদি উবুন্টুতে সবেমাত্র এনগিনেক্স ইনস্টল করেন তবে আপনি "/ etc / nginx / sites-উপলভ্য" এ গিয়ে ডিফল্ট ফাইলটি পরীক্ষা করতে পারেন, এখানে "রুট / ওয়েব / রুট / পাথ / যায় / এখানে" এর মতো একটি কনফিগারেশন রয়েছে। এবং এটিই আপনি সন্ধান করছেন।


3

আপনি এটি / var / www / এ খুঁজে পেতে পারেন যা এনজিনেক্স এবং অ্যাপাচিগুলির জন্য ডিফল্ট ডিরেক্টরি তবে আপনি এটি পরিবর্তন করতে পারেন। পদক্ষেপ 1 নীচের ফোল্ডারে যান / ইত্যাদি / এনগিনেক্স / সাইট-উপলব্ধ

দ্বিতীয় ধাপে ডিফল্ট ফাইলটি সম্পাদনা করুন যাতে আপনি কোনও সার্ভার ব্লক খুঁজে পেতে পারেন যার নীচে রুট নামে একটি লাইন থাকবে যা লোকেশনকে সংজ্ঞায়িত করে।



2

Nginx / 1.4.6 (উবুন্টু) এর জন্য

/etc/nginx$ cat /etc/nginx/sites-available/default | grep -i root
- root /usr/share/nginx/html;


1

ডিগ্রিটি স্ক্রিপ্টের prefixবিকল্পের সাথে সম্পর্কিত configureযখন এনজিনেক্স সংকলিত হয়; এখানে দেবিয়ান থেকে কিছু অদ্ভুত নমুনা দেওয়া হয়েছে:

% nginx -V | & tr ' ' "\n" | fgrep -e path -e prefix
--prefix=/etc/nginx
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-client-body-temp-path=/var/lib/nginx/body
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi
--http-log-path=/var/log/nginx/access.log
--http-proxy-temp-path=/var/lib/nginx/proxy
--http-scgi-temp-path=/var/lib/nginx/scgi
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi
--lock-path=/var/lock/nginx.lock
--pid-path=/var/run/nginx.pid

পরবর্তীকালে ডিফল্ট মান rootহয় সেট htmlডিরেক্টরির (প্রতি যেমন ডকুমেন্টেশন rootনির্দেশ , যার মধ্যে হতে হবে) prefix, যেমন দিকে তাকিয়ে যাচাই করা যেতে পারে $document_rootএকটি সহজ কনফিগারেশন ফাইল থেকে পরিবর্তনশীল:

# printf 'server{listen 4867;return 200 $document_root\\n;}\n' \
    >/etc/nginx/conf.d/so.10674867.conf

# nginx -s reload && curl localhost:4867
/etc/nginx/html

যাইহোক, ডেবিয়ানের মতো দুষ্ট বিতরণগুলি আপনাকে অতিরিক্ত বিনোদন দেওয়ার জন্য এটি কিছুটা পরিবর্তন করেছে বলে মনে হচ্ছে:

% fgrep -e root -e include /etc/nginx/nginx.conf
    include /etc/nginx/mime.types;
    #include /etc/nginx/naxsi_core.rules;
    #passenger_root /usr;
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

% fgrep -e root -e include \
    /etc/nginx/conf.d/*.conf /etc/nginx/sites-enabled/*
/etc/nginx/conf.d/so.10674867.conf:server{listen 4867;return 200 $document_root\n;}
/etc/nginx/sites-enabled/default:   root /usr/share/nginx/www;
/etc/nginx/sites-enabled/default:       # include /etc/nginx/naxsi.rules
/etc/nginx/sites-enabled/default:   #   root /usr/share/nginx/www;
/etc/nginx/sites-enabled/default:   #   include fastcgi_params;
/etc/nginx/sites-enabled/default:   # deny access to .htaccess files, if Apache's document root
/etc/nginx/sites-enabled/default:#  root html;
/etc/nginx/sites-enabled/default:#  root html;

সুতরাং, দেবিয়ান-এর এই উদাহরণে, আপনি দেখতে পাচ্ছেন যে শেষ পর্যন্ত মূলটি সেট করা আছে /usr/share/nginx/www

তবে আপনি যেমন নমুনা সার্ভারের কনফিগারেশনটি দেখেছেন যে এটির $document_rootHTTP এর চেয়ে বেশি মূল্য রয়েছে, এনজিনেক্স কনফিগার করা যথেষ্ট সহজ যে আপনি আপনার নিজস্ব কনফিগারেশনটি একক লাইন বা দুটি ক্ষেত্রে লিখতে পারেন, rootআপনার যথাযথ প্রয়োজনগুলি পূরণ করার জন্য প্রয়োজনীয় নির্দিষ্ট করে ।


এর root html;অর্থ কী, আসল পথটি কী?
রামরতন গুপ্ত ২

1
@ রামরতন গুপ্ত, আপনি উত্তরটি পড়েন নি? প্রথম লাইনের রূপরেখাটি যে পথটি সংকলন-কালীন উপসর্গ সেটিংসের সাথে সম্পর্কিত।
সিএনএসটি

1

আমি ডিজিটাল মহাসাগরে এনজিনেক্স সহ একটি ওয়ার্ডপ্রেস ওয়েবসাইট চালিয়ে এই সমস্যাটিও পেয়েছি।

আমার সমাধানটি নিম্নলিখিতগুলি করা ছিল:

  1. /etc/nginx/nginx.confনিম্নলিখিতগুলির সাথে ফাইলটি সংশোধন করুন :
server {
root /var/www/html;
}

আমি তখন ছিল sudo service nginx restart

nginx -Vকমান্ডটি আপনাকে দেখায় যে আপনার এনগিনেক্স কনফিগারেশন ফাইলটিও রয়েছে যেখানে (আমার দিকে লক্ষ্য করা হয়েছিল /etc/nginx/nginx.conf)


0

আলপাইন লিনাক্সের কোনও ডিফল্ট অবস্থান নেই। ফাইলটি /etc/nginx/conf.d/default.confবলে:

# Everything is a 404
location / {
    return 404;
}

# You may need this to prevent return 404 recursion.
location = /404.html {
    internal;
}

আপনার পছন্দসই root /var/www/localhost/htdocsডিরেক্টরিতে নির্দেশ করতে চান এমন একটি পংক্তির সাথে প্রতিস্থাপন করুন । তারপরে sudo service nginx restartপুনরায় চালু করতে।


1
সত্য না. সবেমাত্র সর্বশেষতম nginx:alpineচিত্রটি চেষ্টা করে দেখুন এবং এটি /usr/share/nginx/htmlবাক্সের বাইরে থেকে সামগ্রী সরবরাহ করে ।
ম্যাজিকোড

1
এটি এনগিনেক্স প্রজেক্টের দ্বারা তৈরি ডকার ইমেজের মতো মনে হচ্ছে যা আল্পাইন লিনাক্সকে অন্তর্নিহিত ওএস হিসাবে ব্যবহার করছে। আপনি যখন আলপাইন লিনাক্সকে আপনার প্রধান ওএস হিসাবে ইনস্টল করেন এবং apk add nginxআলপাইন এর নিজস্ব প্যাকেজ ম্যানেজার থেকে ম্যানুয়ালি এনগিনেক্স ইনস্টল করার সময় আপনি আমার উত্তরে বর্ণিত পরিস্থিতিটি পেয়ে যান (বা আমি কয়েক মাস আগেও চেষ্টা করেছিলাম তখন এমনটি হয়েছিল)।
লাসি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.