Nginx 是如何找到默认根目录的
how is Nginx finding default root
我刚刚使用 brew
安装了 nginx
,其默认配置位于 /usr/local/etc/nginx
。默认 conf
文件中的服务器配置如下(仅粘贴了一小部分)
server {
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
...
}
提供 index.html
的位置是 /usr/local/var/www/
。现在看上面的配置,不明白nginx
怎么去/usr/local/var/www/
找默认文件?是否有不同的配置指示 nginx
查看该文件夹?
像这样设置 root html
让 nginx 使用相对位置。
最简单的方法是像这样用完整的所需路径编写根目录
root /var/www/html;
- 如有取值root directive is relative, the full path is composed using the nginx prefix. See that answer详谈。
- In the nginx Homebrew formula
--prefix
设置为 Homebrew 前缀:
--prefix=#{prefix}
- 默认的 Homebrew 前缀是
/usr/local
on Intel.
- 因此,root是
html
→/usr/local/html
(nginx前缀+相对路径)。
- In the nginx Hombebrew formula 此位置符号链接到
#{HOMEBREW_PREFIX}/var/www
,即 /usr/local/var/www
:
# nginx's docroot is #{prefix}/html, this isn't useful, so we symlink it
# to #{HOMEBREW_PREFIX}/var/www. The reason we symlink instead of patching
# is so the user can redirect it easily to something else if they choose.
我刚刚使用 brew
安装了 nginx
,其默认配置位于 /usr/local/etc/nginx
。默认 conf
文件中的服务器配置如下(仅粘贴了一小部分)
server {
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
...
}
提供 index.html
的位置是 /usr/local/var/www/
。现在看上面的配置,不明白nginx
怎么去/usr/local/var/www/
找默认文件?是否有不同的配置指示 nginx
查看该文件夹?
像这样设置 root html
让 nginx 使用相对位置。
最简单的方法是像这样用完整的所需路径编写根目录
root /var/www/html;
- 如有取值root directive is relative, the full path is composed using the nginx prefix. See that answer详谈。
- In the nginx Homebrew formula
--prefix
设置为 Homebrew 前缀:
--prefix=#{prefix}
- 默认的 Homebrew 前缀是
/usr/local
on Intel. - 因此,root是
html
→/usr/local/html
(nginx前缀+相对路径)。 - In the nginx Hombebrew formula 此位置符号链接到
#{HOMEBREW_PREFIX}/var/www
,即/usr/local/var/www
:
# nginx's docroot is #{prefix}/html, this isn't useful, so we symlink it # to #{HOMEBREW_PREFIX}/var/www. The reason we symlink instead of patching # is so the user can redirect it easily to something else if they choose.