我以前使用过Apache,所以我知道默认的公共web根目录通常是/var/www/。
我最近开始使用nginx,但我似乎找不到默认的公共web根。
我在哪里可以找到nginx的默认公共web根?
我以前使用过Apache,所以我知道默认的公共web根目录通常是/var/www/。
我最近开始使用nginx,但我似乎找不到默认的公共web根。
我在哪里可以找到nginx的默认公共web根?
当前回答
正如这里的大多数用户所说,它是在这个路径下:
/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/;
}
其他回答
在Mac OS X上,使用brew安装nginx会使默认目录:
/usr/local/var/www
So:
root html
意味着
root /usr/local/var/www/html
没有html目录,所以必须手动创建。
需要注意的是,nginx服务器的默认索引页面也会显示根位置。从Amazon Linux AMI上的nginx(1.4.3),您可以得到以下内容:
这是默认的index.html页面,在Amazon Linux AMI上与nginx一起分发。它位于/usr/share/nginx/html。
你现在应该把你的内容放在你选择的位置,并编辑nginx配置文件/etc/nginx/nginx.conf中的根配置指令
如果您的配置不包括根/某些/绝对/路径;语句,或者它包含一个使用相对路径的语句,如root some/relative/path;,则结果路径取决于编译时选项。
如果您自己下载并编译源代码,那么可能只有一种情况可以让您对这对您意味着什么做出有根据的猜测。在这种情况下,路径将相对于使用的前缀。如果你没有更改它,它默认为/usr/local/nginx.你可以通过nginx -V找到nginx编译时使用的参数,它将——prefix作为第一个。
由于根指令默认为html,这当然会导致/usr/local/nginx/html作为你的问题的答案。
然而,如果你以任何其他方式安装nginx,所有的赌注都是失败的。您的发行版可能使用完全不同的默认路径。学习弄清楚您所选择的发行版使用哪种默认值完全是另一项任务。
我在Ubuntu上的nginx是“nginx version: nginx/1.9.12 (Ubuntu)” 根路径为/var/www/html/
Ubuntu信息是: 没有LSB模块可用。 分销商ID: Ubuntu 描述:Ubuntu 16.04 LTS 版本:16.04 代号:主客关系的
实际上,如果你只是在Ubuntu上安装了nginx,那么你可以去“/etc/nginx/sites-available”并检查默认文件,有一个类似于“root/ web/root/path/goes/here”的配置。这就是你要找的。
对于nginx/1.4.6 (Ubuntu)
/etc/nginx$ cat /etc/nginx/sites-available/default | grep -i root
- root /usr/share/nginx/html;