web-dev-qa-db-ja.com

NGinxデフォルトの一般公開wwwの場所?

私は以前にApacheと仕事をしたことがあるので、デフォルトのパブリックWebルートは通常/var/www/であることを認識しています。

私は最近nginxを使い始めましたが、デフォルトのパブリックWebルートを見つけることができません。

NginxのデフォルトのパブリックWebルートはどこにありますか?

256
user1405298

構成にroot /some/absolute/path;ステートメントが含まれていない場合、またはroot some/relative/path;のような相対パスを使用するステートメントが含まれている場合、結果のパスはコンパイル時のオプションによって異なります。

おそらくあなたが ダウンロードして そしてあなた自身でソースをコンパイルしたならば、これがあなたにとって何を意味するのかについてあなたが教育的な推測をすることを可能にする唯一のケース。その場合、パスはどんな--prefixが使用されていても相対的です。変更しなかった場合、デフォルトは/usr/local/nginxです。あなたはnginxがnginx -Vを通してコンパイルされたパラメータを見つけることができます、それは最初のものとして--prefixをリ​​ストします。

rootディレクティブのデフォルトはhtml なので、もちろん、これは/usr/local/nginx/htmlがあなたの質問に対する答えになるでしょう。

ただし、他の方法でnginxをインストールした場合、すべてのベットは無効になります。あなたのディストリビューションはまったく異なるデフォルトパスを使うかもしれません。あなたの選択の分布が物事にどのようなデフォルトを使用しているのかを理解することは、まったく別の作業です。

134
Gnarfoz

Apt-getを使ってUbuntuにインストールする場合は、/usr/share/nginx/wwwを試してください。

編集:

最近のバージョンでは、パスは次のように変更されています。/usr/share/nginx/html

398
Lufix

Debianのデフォルトの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;
        }

ルートがデフォルトの場所です。

'default public web root'は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です。

33
Serge S

Mac OS Xでは、bginを使ってnginxをインストールすると、デフォルトのディレクトリになります。

/usr/local/var/www

そう:

root html

手段

root /usr/local/var/www/html

Htmlディレクトリはないので、手動で作成する必要があります。

24
freegnu

あなたのウェブサイトの場所に nginx's rootフォルダをマッピングするだけです。

nano /etc/nginx/sites-enabled/default

default ファイル内で、serverタグの root を探して、Webサイトのデフォルトフォルダを変更します。私のウェブサイトは /var/www にあります

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

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

Nginx、Apache 2、およびlighttpdを評価していたとき、私はそれらすべてを /var/www にある自分のWebサイトにマッピングしました。私はこれが効率的に評価するための最善の方法だと思った。

それからあなたはあなたが選んだサーバーを起動/停止してどれが最も良く機能するか見ることができます。

例えば.

service Apache2 stop
service nginx start

ところで、nginxは実際にはとても速いです!

18
Waqas

ここのほとんどのユーザーが言ったように、それはこのパスの下にあります:

/usr/share/nginx/html

これがデフォルトのパスですが、自分で作成することもできます。

必要なのは、Webサーバーのルートツリーに1つ作成し、「0777以外」のアクセス権を1人のユーザーだけに与えて、そのユーザーだけに表示させることです。あなたのファイルやフォルダが一般に公開されるものです。

たとえば、次のようにすることができます。

home_web/site1/public_html/www/

nginxで仮想ホストを作るときはいつでもあなた自身のルートパスをカスタマイズすることができます、あなたのサーバーブロックにこのような何かを追加するだけです:

 server {
    listen  80;
        server_name  yoursite.com;

root /home_web/site1/public_html/www/;
}
16
Digital site

NginxのデフォルトのWebフォルダは、インストール方法によって異なりますが、通常は次の場所にあります。

/usr/local/nginx/html
/usr/nginx/html
11
Ja͢ck

コマンドnginx -Vを実行して、--prefixを探します。そのエントリを使用して、デフォルトのパスを見つけます。

9
Jack

Ubuntuとdockerの画像の場合:

 /usr/share/nginx/html/
9
DimiDak

設定をダンプします。

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

nginxがどのように設定/インストールされたかによって異なるので、得られるものは異なるかもしれません。

参考文献:

更新:-Tオプションがnginxに追加された場合のif/whenの問題について、いくつかの混乱があります。 2015年6月16日に vl-homutov によってマニュアルページに文書化されました。これは v1.9.2リリース の一部となりました。 リリースノートにも記載されています-Tオプションは、Ubuntu 16.04.1 LTSで利用可能なものも含めて、それ以来すべてのnginxリリースに存在しています。

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
8
rubicks

Macでは、nginxをbrewと共にインストールしてください。

/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
user2413075

CentOS、Ubuntu、Fedoraの場合、デフォルトのディレクトリは/usr/share/nginx/htmlです。

8
MucaP

確かにnginxの設定ファイルを調べてください。このコマンドはあなたのマシンに設定されているものすべてに対応します。

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

私のマシンでは、次のようになりました: `root/usr/share/nginx/www;

5
Thamme Gowda

AWS EC2 Linuxの場合、ここにあります。

/usr/share/nginx
5
Vivek Sharma

Ubuntu 14.04を使用している場合は、次のパスにnginx wwwディレクトリがあります。

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

私の場合は/usr/share/nginx/htmlにありました

あなたは検索を実行することによって見つけることを試みることができます

find / -name html
5
Eduardo Dennis

どこに移動したかに関係なく、検索できます(システム管理者が移動したか、新しいバージョンのnginx)。

find/-name nginx

4
Dylan B

Nginxサーバーのデフォルトのインデックスページにもルートの場所が表示されることに注意してください。 Amazon Linux AMIのnginx(1.4.3)から、次のようになります。

これは、Amazon Linux AMIでnginxと一緒に配布されるデフォルトのindex.htmlページです。/usr/share/nginx/htmlにあります。

コンテンツを好きな場所に配置し、nginx設定ファイル/etc/nginx/nginx.confのルート設定ディレクティブを編集します

3
jboles

コンパイル時に定義されたnginxパブリックルートフォルダを見つける必要がある場合は、単にaccess.logファイルを確認してください。

  1. 開く nginx.conf
  2. log_format ディレクティブを見つける
  3. log_format の値は、 access.log ファイルに情報を書き込むために使用されるテンプレート文字列です。このテンプレート文字列に $ document_root 変数を追加すると、デフォルトのwwwルートの場所をファイルに記録できます。

以下は nginx.conf のhttpセクションの例で、 log_format を修正したものです。$ document_rootが文字列の先頭に追加されます。

    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.dディレクトリにあるすべての設定ファイル* .confをバックアップし、そこに次の行を使って設定ファイル test.conf を作成します。

    server{
        listen 80;
        server_name localhost;
    }
    
    1. / etc/hostsファイルに次の行を追加します。127.0.0.1 localhost

    2. Nginx設定をリロードします。nginx -s reload

    3. http:// localhost :にGETリクエストを送信します。curl http://localhost

    4. access.log :の最後の文字列を確認してください。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" "-"
3
G.Denis

あなたはファイルconfig nginxにアクセスすることができます、あなたはroot/pathを見ることができます。このデフォルトのnginx Apacheでは/var/www/html

3
tomnyson

NginxとApacheのデフォルトディレクトリである/ var/www /にありますが、変更することができます。手順1次のフォルダに移動します/ etc/nginx/sites-available

ステップ2デフォルトのファイルを編集すると、その下にサーバーブロックを見つけることができるので、その場所を定義している行としてrootという名前の行があります。

2
gokul kandasamy

ubuntu 19.04で、我々はそれを見つけた

/ usr/share/nginx/html

2
Arséne

Ubuntuの私のnginxは "nginx version:nginx/1.9.12(Ubuntu)"で、ルートパスは/ var/www/html /です。

Ubuntuの情報は次のとおりです。利用可能なLSBモジュールはありません。ディストリビュータID:Ubuntu説明:Ubuntu 16.04 LTSリリース:16.04コード名:xenial

実際には、Ubuntuにnginxをインストールしたばかりの場合は、 "/ etc/nginx/sites-available"に移動してデフォルトファイルを確認することができます。そしてそれがあなたが探しているものです。

2
Daniel Dong

デフォルトは、nginxのコンパイル時のprefixスクリプトのconfigureオプションに関連しています。 Debianからの奇妙なサンプルを次に示します。

% 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

しかし、Debianのような邪悪なディストリビューションは、あなたをさらに楽しませるために、かなり変更しているようです:

% 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;

したがって、このDebianのインスタンスでは、ルートが最終的に/usr/share/nginx/wwwに設定されていることがわかります。

しかし、http経由で$document_root値を提供するサンプルサーバー構成で見たように、nginxの構成は非常に簡単で、1行または2行で独自の構成を記述でき、必要なrootを正確なニーズに合わせて指定できます。

1
cnst

Ubuntuでは、Nginxのデフォルトのルートディレクトリの場所は/usr/share/nginx/htmlです。

1

nginxの場合/ 1.4.6(Ubuntu)

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

私はnginxでWordPressウェブサイトを運営しているデジタルオーシャンでもこの問題を抱えていました。

私の解決策は次のようにすることでした。

  1. 次のように/etc/nginx/nginx.confファイルを変更します。
server {
root /var/www/html;
}

私はそれからSudo service nginx restartをしなければなりませんでした

nginx -Vコマンドはまたあなたのnginx設定ファイルがどこにあるかをあなたに示します(私のものは/etc/nginx/nginx.confを指していました)

0
John C

* var/www/htmlに割り当てられたデフォルトのWebページ*デフォルトの構成サーバーetc/nginx/sites/avaliable/nginx.conf

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;
    }
}

* default configuracion server etc/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;
#   }
#}

IPクライアントvar/log/nginx/...を使用したデフォルトのアクセスログ

0
user11793803

Alpine Linuxのデフォルトの場所はまったくありません。ファイル/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を再起動します。

0
Lassi