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.confaccess_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 日志寫入權限問題
2 回答

子衿沉夜
TA貢獻1828條經驗 獲得超3個贊
目錄權限的問題,你的logs目錄是除了root用戶意外都不能寫,所以會Permission denied,chown成Nginx的用戶或者最簡單權限改成777

慕尼黑5688855
TA貢獻1848條經驗 獲得超2個贊
不同的域名生成目錄可以這樣,在啟動或重讀 Nginx
配置的時候,cd 到 www 目錄,然后執行以下命令,就可以在logs目錄下創建相應的域名目錄了。
find . -type d -maxdepth 1 -exec mkdir -p ../logs/{} \;
日志寫入權限的問題呢,解決方法就很多了:
方法一、由于是日志目錄,不必要做過多的權限,直接把該目錄設置成 777 權限即可。
方法二、或者把該目錄的所有者和所屬組改成與
Nginx
中的user
對所應
這中間有坑,使用時注意咯!
如果你在創建這些日志目錄的時候是使用的 root 用戶,那創建完相應的目錄先萬別忘記改權限。
- 2 回答
- 0 關注
- 11636 瀏覽
添加回答
舉報
0/150
提交
取消