我遇到了一个非常奇怪的问题,我不确定是什么原因引起的。我正在尝试设置一个测试VPS(使用Digital Ocean和CentOS 7.6),以测试我拥有的一些Ansible脚本。
该脚本生成此配置文件:
server {
listen 443 ssl;
set $socket /var/run/php-fpm/deploy.sock;
server_name servername.com;
root /home/deploy/project/current/public/;
ssl_certificate /etc/letsencrypt/live/servername.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/servername.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/ssl/dhparams.pem;
#charset koi8-r;
access_log /var/log/nginx/project.access.log main;
error_log /var/log/nginx/project.error.log;
include /srv/server-config/nginx/includes.d/maintenance.inc;
include /srv/server-config/nginx/includes.d/silverstripe-4.inc;
}
包含include /etc/letsencrypt/options-ssl-nginx.conf;
加载没有问题(据我所知),但是包含include /srv/server-config/nginx/includes.d/maintenance.inc;
失败,并显示错误:open() "/path/to/include" failed (13: Permission denied)
。
我仔细检查了两次权限,路径中的目录似乎都是drwxr-xr-x
,文件都是-rw-r--r--
。
如果我将include /srv/server-config/nginx/includes.d/maintenance.inc;
行注释掉,则下一行将引发相同的错误。
我在完整的实时VPS(旧版本的CentOS7)上运行相同的配置/设置,但没有收到此错误。是否在最新的CentOS中更新了某些内容可能会导致这种情况(也许nginx不能包含/ etc /之外的文件)?如果没有,是否有人知道会发生什么?
任何对此表示感谢的帮助,因为我正在敲击键盘上的耳机以尝试解决此问题:-/。