centos7 nginx 配置日志,提示 No such file or directory

centos7+nginx1.6.2,配置目录/home/mysite绑定了100个网站(网站程序一样,链接数据库不一样)
然后他们的日志配置是

access_log /home/mysite/logs/$host/access.log main;

重新启动nginx,访问网站,访问日志没有生成,nginx错误日志中提示:

2014/12/22 23:56:11 [crit] 14021#0: *1 open() "/home/mysite/logs/xxxxA.com/access.log" failed (2: No such file or directory) while logging request, client$

修改nginx.conf

access_log /home/mysite/logs/$host.access.log main;

重启nginx再访问网站,错误日志:

2014/12/23 00:00:34 [crit] 14021#0: *6 open() "/home/mysite/logs/xxxxA.com.access.log" failed (13: Permission denied) while logging request, client: 113.$

目录 ll /home/mysite

[root@flxx nginx]# ll /home/mysitetotal 12
drwxr-xr-x 2 mysite root 4096 Dec 22 23:04 bak
drwxr-xr-x 2 mysite root 4096 Dec 22 23:04 logs
drwxr-xr-x 2 mysite root 4096 Dec 22 23:37 www

如何解决

1)nginx 不同域名自动生成目录问题2)nginx 日志写入权限问题


阿波罗的战车
浏览 11447回答 2
2回答

子衿沉夜

目录权限的问题,你的logs目录是除了root用户意外都不能写,所以会Permission denied,chown成Nginx的用户或者最简单权限改成777

慕尼黑5688855

不同的域名生成目录可以这样,在启动或重读 Nginx 配置的时候,cd 到 www 目录,然后执行以下命令,就可以在logs目录下创建相应的域名目录了。find . -type d -maxdepth 1 -exec mkdir -p ../logs/{} \;日志写入权限的问题呢,解决方法就很多了:方法一、由于是日志目录,不必要做过多的权限,直接把该目录设置成 777 权限即可。方法二、或者把该目录的所有者和所属组改成与 Nginx 中的 user 对所应这中间有坑,使用时注意咯!如果你在创建这些日志目录的时候是使用的 root 用户,那创建完相应的目录先万别忘记改权限。
打开App,查看更多内容
随时随地看视频慕课网APP