![](/img/trans.png)
[英]Docker Nginx image with static content from an external volume - permissions issue
[英]Nginx server for static content
啟動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
默認情況下,當我們運行Nginx的為root
,如sudo nginx ...
,Nginx的將啟動主進程root
和偵聽給一個或多個HTTP端口,但出於安全原因,將啟動由用戶幾個工作進程nobody
。 這些工作進程將處理傳入的請求。 我們可以通過運行檢查
更新 :將ps -ef
更改為ps aux
因為在macosx / freebsd上時, ps -ef
不顯示用戶
$ ps aux | grep nginx
在您的情況下,由於nobody
沒有權限訪問/ Users / matt / Dev,因此在訪問相關位置時我們不會出現權限錯誤。
要解決此問題,我們可以嘗試以下任一方法
user matt;
要么 使用您的配置,您可以訪問單個文件。 因此,您可以獲取example.com/example.js
(嘗試一下,就可以看到它的工作原理)。
使用example.com
您要顯示已禁用的根目錄( /Users/matt/Dev
)的內容。 要啟用使用autoindex
:
location / {
root /Users/matt/Dev;
autoindex on;
}
在這里查看更多信息:
ngx_http_autoindex_module模塊處理以斜杠('/')結尾的請求,並生成目錄列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.