我的网站结构如下:
/home/www/domain.com/public,private, log, backup
在日志文件夹中,我创建了一个空白的error.log和access.log。
我的站点中可用于该域的 nginx 文件如下所示:
server
{
access_log /home/www/domain1.com/log/access.log;
error_log /home/www/domain1.com/log/error.log;
}
尝试启动 nginx 时它显示:
starting nginx: the config file /etc/nginx/nginx/conf syntax is ok
[emrg] open() ".../access.log" failed (2: no such file or directory)
这是权限问题吗?
答案1
不,这意味着访问日志的绝对路径中的某个目录不存在。nginx 从主进程写入日志文件,通常以 root 身份运行(如果 nginx 是由 root 启动的)。也许是主访问日志或其他主机的日志,请自行运行检查
grep -n access_log /path/to/nginx.conf
或者如果您使用默认的 sites-* 结构,则对其中的所有文件运行该结构。事实上,我不建议使用该方案。当您突然需要更改 200 个站点的设置时,您将不得不编辑 200 多个配置文件:)