NGinx默认公共www位置?

时间:2012-05-20 15:46:49

标签: nginx

之前我曾与Apache合作过,所以我知道默认的公共网络根目录通常为/var/www/

我最近开始使用nginx,但我似乎无法找到默认的公共网络根目录。

在哪里可以找到nginx的默认公网根?

29 个答案:

答案 0 :(得分:399)

如果使用apt-get在Ubuntu上安装,请尝试/usr/share/nginx/www

修改

在更新的版本中,路径已更改为: /usr/share/nginx/html

答案 1 :(得分:137)

如果您的配置不包含root /some/absolute/path;语句,或者它包含使用root some/relative/path;之类的相对路径的语句,则生成的路径取决于编译时选项。

如果您downloaded并自己编译了源代码,那么可能是唯一可以让您做出有意义的猜测的案例。在这种情况下,路径将相对于使用的--prefix。如果您没有更改它,则默认为/usr/local/nginx。你可以找到通过nginx -V编译的参数nginx,它将--prefix列为第一个参数。

the root directive defaults to html起,这当然会导致/usr/local/nginx/html成为您问题的答案。

但是,如果您以任何其他方式安装了nginx,则所有投注均已关闭。您的分发可能使用完全不同的默认路径。学会弄清楚你的选择分配对事物使用什么样的默认是完全另一项任务。

答案 2 :(得分:58)

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

根是默认位置。

答案 3 :(得分:33)

'默认的公共网络根目录'可以从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

答案 4 :(得分:18)

您只需将 nginx的根文件夹映射到您网站的位置即可:

nano /etc/nginx/sites-enabled/default

默认文件中,在服务器标记中查找 root 并更改您网站的默认文件夹,例如我的网站位于 / var / www

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

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

当我评估nginx,apache2和lighttpd时,我将所有这些映射到我的网站 / var / www 。我发现这是有效评估的最佳方式。

然后,您可以启动/停止您选择的服务器,看看哪种效果最佳。

e.g。

service apache2 stop
service nginx start
是的,nginx实际上非常快!

答案 5 :(得分:16)

正如大多数用户所说,它正是在这条道路上:

/usr/share/nginx/html

这是默认路径,但您可以创建自己的路径。

您只需要在Web服务器根树中创建一个并赋予它一些权限&#34;而不是0777&#34;并且仅针对一个用户,并且仅对该用户可见,但路径的末尾对每个人都可见,因为路径的末尾是公共人员将查看您的文件和文件夹的内容。

例如,你可以这样做:

home_web/site1/public_html/www/

无论何时在Nginx中创建虚拟主机,您都可以自定义自己的根路径,只需在服务器块中添加如下内容:

 server {
    listen  80;
        server_name  yoursite.com;

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

答案 6 :(得分:11)

nginx的默认Web文件夹取决于您的安装方式,但通常位于以下位置:

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

答案 7 :(得分:9)

对于Ubuntu和docker镜像:

 /usr/share/nginx/html/

答案 8 :(得分:9)

运行命令nginx -V并查找--prefix。使用该条目查找默认路径。

答案 9 :(得分:8)

对于CentOS,Ubuntu和Fedora,默认目录为/usr/share/nginx/html

答案 10 :(得分:8)

转储配置:

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

您得到的可能会有所不同,因为它取决于您nginx的配置/安装方式。

参考文献:

更新:关于-T选项是否/何时添加到nginx的问题,存在一些混淆。它于2015年6月16日由vl-homutov在手册页中记录,并成为v1.9.2 release的一部分。它甚至在the release notes中提到过。每个-T版本中都存在nginx选项,包括Ubuntu 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

答案 11 :(得分:8)

在Mac上使用brew安装nginx:

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

答案 12 :(得分:6)

查看nginx配置文件以确定。 此命令可用于计算机上配置的任何内容:

cat /etc/nginx/sites-enabled/default |grep "root"
在我的机器上它是:`root / usr / share / nginx / www;

答案 13 :(得分:5)

对于AWS EC2 Linux,您可以在此处找到:

/usr/share/nginx

答案 14 :(得分:5)

如果你在Ubuntu 14.04上,你可以在以下路径找到nginx www目录:

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

答案 15 :(得分:5)

就我而言,它位于use strict; use warnings; my %hashofhashes; my @headers; my ($i, $temp, $flag)=0; open FILE, '<', 'C:\direction\to\file.txt' or die $!; while ( $line = <FILE> ) { $line =~ /^(.*?)\t(.*?)\t(.*?)\t/; $hashofhashes{$1}{$2} = $3; # a bit more logic, but this is the idea behind it push @headers, $1; } close FILE; open SAVE, '>', 'C:\somewhere\important\savefile.txt' or die $!; open SAVED, '>', 'C:\somewhere\important\savefileD.txt' or die $!; print SAVE "Name"; print SAVED "Name"; for ( $i = 0; $i < scalar @headers; $i++ ) { print SAVE "\tAverage\tlog2\tfold (loss/normal) $headers[$i]\tp-value $headers[$i]"; print SAVED "\tAverage\tlog2\fold (gain/normal) $headers[$i]\tp-value $headers[$i]"; $temp++; print "$temp: $headers[$i]\n"; # visual QC on prompt if ($headers[$i] eq 'Joe') { print "FOUND IT!!! $headers[$i]\n"; <STDIN>; $flag = 1; } if ($temp == 100) { print "Have done " . $i++ . " of ". scalar @headers . "\n"; $temp = 0; # this is the offending line!!! } print SAVE "\n"; print SAVED "\n"; unless ($flag) { print "sorry bud!\n"; die; } }

您可以尝试通过执行搜索来查找

/usr/share/nginx/html

答案 16 :(得分:4)

您可以搜索它,无论它们在何处移动它(系统管理员移动或更新版本的nginx)

  

查找/ -name nginx

答案 17 :(得分:3)

你可以访问文件配置nginx,你可以看到root / path。在这 默认为/var/www/html

的nginx apache

答案 18 :(得分:3)

如果你需要找到在编译时定义的nginx公共根文件夹,你可以检查你的access.log文件。

  1. 打开 nginx.conf
  2. 找到 log_format 指令
  3. log_format 的值是一个模板字符串,用于将信息写入 access.log 文件。您可以将 $ document_root 变量添加到此模板字符串,以将默认的www根位置记录到文件中。
  4. 以下是 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

    2. 以下是此命令的示例输出,其中 / 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" "-"
      

答案 19 :(得分:3)

请注意,nginx服务器的默认索引页面也会显示根位置。从Amazon Linux AMI上的nginx(1.4.3)开始,您将获得以下内容:

这是与Amazon Linux AMI上的nginx一起分发的默认index.html页面。它位于/ usr / share / nginx / html。

您现在应该将您的内容放在您选择的位置,并在nginx配置文件/etc/nginx/nginx.conf中编辑根配置指令

答案 20 :(得分:2)

我在Ubuntu上的nginx是“nginx版本: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”并检查默认文件,有一个类似“root / web / root / path / goes /”的配置这里”。这就是你要找的东西。

答案 21 :(得分:2)

您可以在/ var / www /中找到它,它是nginx和apache的默认目录,但是您可以更改它。 步骤1转到以下文件夹/ etc / nginx / sites-available

第2步,编辑默认文件,在该文件中,您可以找到一个服务器块,在该块下将有一个名为root的行,该行定义了位置。

答案 22 :(得分:2)

在ubuntu 19.04中,我们在

上找到了它
  

/ usr / share / nginx / html

答案 23 :(得分:1)

适用于nginx / 1.4.6(Ubuntu)

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

答案 24 :(得分:1)

当编译nginx时,默认值与private void MenuViewMembers_Click(object sender, EventArgs e) { // hide any controls left that may be left over from another option HideAllControls(this); } 脚本的prefix选项有关;这是来自Debian的一些奇怪的例子:

configure

随后,root的默认值为set to the html directory(根据documentation of the root directive),恰好在% 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 范围内,可以通过查看来自简单配置文件的$document_root变量:

prefix

然而,像Debian这样的邪恶发行版似乎对其进行了相当多的修改,以便让您额外受理:

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

但正如您所看到的样本服务器配置将通过http提供其/usr/share/nginx/www值,配置nginx非常简单,您可以在一行或两行中编写自己的配置,指定所需的$document_root以满足您的确切需求。

答案 25 :(得分:1)

在Ubuntu, Nginx默认根目录位置为/usr/share/nginx/html

答案 26 :(得分:0)

我在Digital Ocean上使用nginx运行WordPress网站时也遇到了这个问题。

我的解决方案是执行以下操作:

  1. 使用以下命令修改/etc/nginx/nginx.conf文件:
server {
root /var/www/html;
}

然后我不得不sudo service nginx restart

nginx -V命令还显示了您的nginx配置文件所在的位置(我的指向/etc/nginx/nginx.conf

答案 27 :(得分:0)

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重新启动。

答案 28 :(得分:0)

*以var / www / html 分配的默认网页 *默认配置服务器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;
    }
}

*默认配置服务器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 / ...的默认访问日志