启动Nginx服务器以提供静态内容(js等)所需的最低要求是什么?
我有:
http {
server {
listen 80;
location / {
root /Users/matt/Dev;
}
}
}
events {
worker_connections 1024;
}
但我明白了:
禁止
You don't have permission to access / on this server.
我已经sudo nginx -s reload
答案 0 :(得分:0)
默认情况下,我们将Nginx作为root
运行,例如sudo nginx ...
,Nginx将通过root
启动主进程并侦听一个或多个给定的http端口,但出于安全原因,它将由用户nobody
启动多个工作进程。这些工作进程将处理传入的请求。我们可以通过运行
更新:将ps -ef
更改为ps aux
,因为在macosx / freebsd ps -ef
上没有显示用户
$ ps aux | grep nginx
在您的情况下,因为用户nobody
无权访问/ Users / matt / Dev,因此我们在访问相关位置时会收到no-permission-error。
要修复它,我们可以尝试
user matt;
或答案 1 :(得分:0)
使用您的配置,您可以访问单个文件。所以你可以得到example.com/example.js
(尝试它,你可以看到它有效)。
使用example.com
,您希望显示已禁用的根目录(/Users/matt/Dev
)的内容。要启用autoindex
:
location / {
root /Users/matt/Dev;
autoindex on;
}
查看更多信息here:
ngx_http_autoindex_module模块处理以。结尾的请求 斜杠字符('/')并生成目录列表。