nginx的默认公用WWW的位置?nginx的默认公用WWW的位置?(NGinx Default p

2019-05-14 09:52发布

我以前与Apache的工作,所以我知道,默认的公共Web根通常是/var/www/

我最近开始nginx的工作,但我似乎无法找到默认的公共Web根。

我在哪里可以找到nginx的默认的公共Web根?

Answer 1:

如果您的配置不包括root /some/absolute/path; 语句,或者它包括一个使用像相对路径root some/relative/path; ,然后将得到的路径取决于编译时的选项。

也许这将让你做出一个受过教育的猜测,这是什么意思了,你会是这样,如果你唯一的情况下下载和自己编译的源。 在这种情况下,这个路径是相对于什么--prefix使用。 如果你不改变它,它默认/usr/local/nginx 。 你可以找到这些参数nginx的是通过编译nginx -V ,它列出--prefix作为第一个。

因为在root指令默认为html ,这将,当然,导致/usr/local/nginx/html作为回答你的问题。

但是,如果以任何其他方式安装nginx的,全盘皆输。 你的发行版可能采用完全不同的默认路径。 学习要弄清楚什么样的违约您所选择的分配使用的东西完全是另一项任务。



Answer 2:

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

编辑:

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



Answer 3:

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

根是默认位置。



Answer 4:

“默认的公共Web根”可以从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的



Answer 5:

在Mac OS X上安装的nginx与BREW使得默认的目录:

/usr/local/var/www

所以:

root html

手段

root /usr/local/var/www/html

没有html目录,因此将不得不手动创建。



Answer 6:

您可以nginx的根文件夹简单地映射到你的网站的位置:

nano /etc/nginx/sites-enabled/default

默认的文件中,查找服务器中的标签,并改变你的网站的默认文件夹,例如我的网站是位于/ var / WWW

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

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

当我nginx的评估,和的Apache2的lighttpd,我映射所有的人都到我的网站坐在位于/ var / WWW。 我发现这个有效评估的最佳方法。

然后你就可以启动/停止您所选择的服务器,看看哪一种最适合。

service apache2 stop
service nginx start

顺便说一句,nginx的其实是非常快的!



Answer 7:

这里大多数网友表示,这是此路径下:

/usr/share/nginx/html

这是默认的路径,但你可以让你的虽然。

所有你需要的是创建一个在Web服务器的根目录树,给它一些权限“不是0777”,只有一个用户和看得见的只有该用户,但路径的终点的所有人都因为路径结束是你的文件和文件夹会被大众观看。

例如,你可以让一个像这样的:

home_web/site1/public_html/www/

只要您在Nginx的,你可以定制自己的根路径虚拟主机,只需添加这样的事情在你的服务器块:

 server {
    listen  80;
        server_name  yoursite.com;

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


Answer 8:

为nginx的默认Web文件夹取决于你如何安装它,但通常在这些地点:

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


Answer 9:

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



Answer 10:

对于Ubuntu和泊坞窗图片:

 /usr/share/nginx/html/


Answer 11:

转储配置:

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

你得到的可能是不同的,因为这取决于你如何nginx是配置/安装。

参考文献:

  • -T的期权man

  • -T在帮助信息选项

更新:有一个关于是否/何时的问题有些混乱-T加入选项nginx 。 它是由手册页中VL-homutov 6月16日,这成为一部分2015年v1.9.2的版本 。 它甚至在提到发行说明 。 该-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


Answer 12:

在Mac上安装使用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;
}  


Answer 13:

为CentOS,Ubuntu和Fedora的,默认的目录是/usr/share/nginx/html



Answer 14:

在我的情况下,它是/usr/share/nginx/html

你可以尝试通过执行搜索,找到

find / -name html


Answer 15:

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

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


Answer 16:

对于AWS EC2的Linux,你会发现这里:

/usr/share/nginx


Answer 17:

看看nginx的配置文件,以确保万无一失。 这对于任何命令里grep是您的机器配置:

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

我的机器上它是:'根在/ usr /共享/ nginx的/ WWW;



Answer 18:

只是要注意,对于nginx的服务器的默认索引页也将显示根位置为好。 从亚马逊的Linux AMI nginx的(1.4.3),你会得到如下:

这是一个散发着亚马逊的Linux AMI nginx的默认index.html页面。 它位于/ usr /共享/ nginx的/ HTML。

现在你应该把你的内容在您所选择的位置,并在nginx的配置文件/etc/nginx/nginx.conf编辑root配置指令



Answer 19:

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

  1. 打开nginx.conf
  2. 找到log_format指令
  3. log_format的值是用于将信息写入access.log文件的模板字符串。 您可以$ DOCUMENT_ROOT变量添加到这个模板字符串登录默认WWW根目录到文件中。

下面是与修改log_format指令nginx.conf的HTTP部分为例,$ 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文件在conf.d目录下,并创建有配置文件,test.conf有下面几行:

     server{ listen 80; server_name localhost; } 
    1. 添加下面一行到/ etc / hosts文件: 127.0.0.1 localhost

    2. 刷新nginx的配置: nginx -s reload

    3. 发送GET请求HTTP://本地主机 : 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" "-"


Answer 20:

您可以搜索它,无论在哪里,他们将它(系统管理员移动或Nginx的更新版本)

查找/ -name nginx的



Answer 21:

您可以访问文件配置nginx的,你可以看到根/路径。 在此默认nginx的阿帕奇的/var/www/html



Answer 22:

我在Ubuntu nginx的是 “nginx的版本:nginx的/ 1.9.12(Ubuntu的)” 和根路径是/ var / www / html等/

Ubuntu的信息是:没有LSB模块可供选择。 经销商ID:Ubuntu的说明:Ubuntu的LTS 16.04版本:16.04代号:xenial

其实,如果你刚刚安装在Ubuntu nginx的,那么你可以去“的/ etc / nginx的/网站可用”并检查默认的文件,有喜欢的配置“根/网站/根/路/云/这里”。 这是你在找什么。



Answer 23:

你可以找到它在/ var / WWW /那是nginx的和Apache默认目录,但你可以改变它。 第1步转到以下文件夹中的/ etc / nginx的/站点可用

第2步编辑默认的文件中,你可以找到一个服务器块下,有将线命名为根是什么定义的位置。



Answer 24:

在Ubuntu 19.04中,我们发现它

在/ usr /共享/ nginx的/ HTML



Answer 25:

对于nginx的/ 1.4.6(Ubuntu的)

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


Answer 26:

默认是关系到prefix中的选项configure时,nginx的编译脚本; 这里是从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

但是当你与样本服务器配置,将成为其看到$document_root通过http值,配置nginx的是很简单的,你可以写自己的配置在两个单行的问题,指定所需的root ,以满足您的需要。



Answer 27:

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



Answer 28:

我也对数字海洋这个问题上运行一个WordPress网站nginx的。

我的解决办法是做到以下几点:

  1. 修改/etc/nginx/nginx.conf具有下列文件:
server {
root /var/www/html;
}

然后我不得不sudo service nginx restart

nginx -V命令还显示你在哪里你的nginx的配置文件所在以及(我指出在/etc/nginx/nginx.conf



文章来源: NGinx Default public www location?
标签: nginx