2017-02-15 34 views
1

我使用nginx的版本:nginx的/ 1.11.8Nginx的泊塢窗(13:權限被拒絕),同時登錄請求安裝的卷

我的搬運工文件看起來像:

FROM nginx 
COPY website /usr/share/nginx/html/website/ 
RUN chown -R nginx /usr/share/nginx/html 
RUN chown -R nginx /var/log/nginx/ 
EXPOSE 80 

我使用變量我的訪問日誌名稱如下所示。在沒有安裝到主機上的目錄的情況下運行時,這可以正常工作並生成日誌。

location/{ 
    try_files $uri /index.html; 
    if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") { set $year $1; set $month $2; set $day $3; } 
    access_log /var/log/nginx/nginx.$hostname.$year-$month-$day.log logs; 
} 

我的主機的日誌目錄的所有者:史蒂夫組:原木

如果我從訪問日誌名稱中刪除變量,然後將它正確地記錄到主目錄即

access_log /var/log/nginx/nginx.novars.log logs; 

我是忽略了一些顯而易見的事情,讓它使用變量來工作?

+0

第4行和第5行爲不同所有者授予相同地點的權限,是否有意? – shlomoa

回答

0

原來是位置塊內導致問題的if語句。這工作,並允許我按日期旋轉我的日誌文件。

http { 
    include /etc/nginx/conf/*.conf; 
    include /etc/nginx/mime.types; 

server { 
    listen  80 default_server; 
    root /usr/share/nginx/html/; 
    underscores_in_headers on; 

    if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") { set $year $1; set $month $2; set $day $3; } 

    location/{ 
     index index.html index.htm; 
     try_files $uri $uri/ /index.html$query_string; 
     access_log /var/log/nginx/nginx.agent-ux.$hostname.$year-$month-$day.log logs; 
    } 
    } 
}