手机用户2502855061 发布于 2017-05-17 00:17

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/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

如何解决

1)nginx 不同域名自动生成目录问题
2)nginx 日志写入权限问题
2 个回答
  • 不同的域名生成目录可以这样,在启动或重读 Nginx 配置的时候,cd 到 www 目录,然后执行以下命令,就可以在logs目录下创建相应的域名目录了。

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

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

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

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

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

    2017-05-17 11:58 回答
  • 目录权限的问题,你的logs目录是除了root用户意外都不能写,所以会Permission denied,chown成Nginx的用户或者最简单权限改成777

    2017-05-17 03:22 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
活跃用户
  • 1
    问道摩托
  • 2
    袁广龙976丶
  • 3
    逍遥子
  • 4
    亮仔
  • 5
    芙蓉花
  • 6
    作小die_syj
  • 7
    王丽珠景平怡伦_621
  • 8
    adfa3sd5f6a
  • 9
    欣欣大妮
  • 10
    sfasfs
PHP1.CN | 中国最专业的PHP中文社区 | json解析格式化 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有