Heim > Backend-Entwicklung > PHP-Tutorial > centos7 nginx 配置日志,提示 No such file or directory

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

WBOY
Freigeben: 2016-06-06 20:39:58
Original
3499 Leute haben es durchsucht

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

<code>access_log /home/mysite/logs/$host/access.log main;
</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

<code>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$
</code>
Nach dem Login kopieren
Nach dem Login kopieren

修改nginx.conf

<code>access_log /home/mysite/logs/$host.access.log main;
</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

<code>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.$
</code>
Nach dem Login kopieren
Nach dem Login kopieren

目录 ll /home/mysite

<code>[root@flxx nginx]# ll /home/mysite
total 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
</code>
Nach dem Login kopieren
Nach dem Login kopieren

如何解决

<code>1)nginx 不同域名自动生成目录问题
2)nginx 日志写入权限问题
</code>
Nach dem Login kopieren
Nach dem Login kopieren

回复内容:

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

<code>access_log /home/mysite/logs/$host/access.log main;
</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

<code>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$
</code>
Nach dem Login kopieren
Nach dem Login kopieren

修改nginx.conf

<code>access_log /home/mysite/logs/$host.access.log main;
</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

<code>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.$
</code>
Nach dem Login kopieren
Nach dem Login kopieren

目录 ll /home/mysite

<code>[root@flxx nginx]# ll /home/mysite
total 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
</code>
Nach dem Login kopieren
Nach dem Login kopieren

如何解决

<code>1)nginx 不同域名自动生成目录问题
2)nginx 日志写入权限问题
</code>
Nach dem Login kopieren
Nach dem Login kopieren

不同的域名生成目录可以这样,在启动或重读 Nginx 配置的时候,cd 到 www 目录,然后执行以下命令,就可以在logs目录下创建相应的域名目录了。

find . -type d -maxdepth 1 -exec mkdir -p ../logs/{} \;

日志写入权限的问题呢,解决方法就很多了:

  • 方法一、由于是日志目录,不必要做过多的权限,直接把该目录设置成 777 权限即可。
  • 方法二、或者把该目录的所有者和所属组改成与 Nginx 中的 user 对所应

这中间有坑,使用时注意咯!

如果你在创建这些日志目录的时候是使用的 root 用户,那创建完相应的目录先万别忘记改权限。

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage