我让NGINX作为缓存引擎工作,可以确认页面正在缓存以及从缓存中提供服务。但错误日志正在填补此错误:
2018/01/19 15:47:19 [暴击] 107040#107040:* 26 chmod() " /etc/nginx/cache/nginx3/c0/1d/61/ddd044c02503927401358a6d72611dc0.0000000007" 客户:在上游读取时失败(1:操作不允许) xx.xx.xx.xx,server:* .---。com,request:" GET / support / applications / HTTP / 1.1",上游:" http://xx.xx.xx.xx:80/support/applications/", 主持人:" ---。com"
自NGINX正常工作以来,我不确定这个错误的来源是什么。这些错误是否可以安全地忽略?
答案 0 :(得分:0)
看起来您正在使用nginx代理缓存,但是nginx无法处理其缓存目录中的文件。您需要在缓存目录中获取所有权/权限。
答案 1 :(得分:0)
原始问题中未解释安装的存储是Azure文件共享。所以在FSTAB中我必须为所需的所有者包含gid =和uid =。这就删除了chown和chmod的需要也变得没必要了。这删除了chmod()错误,但引入了另一个。
然后我在没有权限执行此操作时遇到rename()错误。此时我放弃了我正在做的事情,转移到另一种类型的Azure存储(特别是连接到VM的磁盘),所有这些问题都消失了。
所以我提供这个作为答案,但实际上,问题没有解决。
答案 2 :(得分:0)
我们注意到了同样的问题。遵循Microsoft @ https://docs.microsoft.com/en-us/azure/aks/azure-files-dynamic-pv#create-a-storage-class的指南,似乎已对其进行了修复。
在我们的例子中,nginx进程为工作线程使用了另一个用户,因此我们需要找到该用户的uid和gid并将其用于StorageClass定义中。