我已經在AWS Linux AMI(免費層微型實例)上設置了Symfony2,併成功設置了PHP-FPM和nginx。Amazon Linux上Symfony2中的緩存/日誌權限AMI
我的Symfony應用程序工作..直到我使用命令行清除緩存。當我這樣做時,/app/logs
和app/cache/
文件夾歸root
所有,並且應用程序不能再寫入它。
我可以手動chmod 777
/chown nginx:nginx
這些文件在每次緩存清除後,但是一定有更好的辦法?
我已經嘗試在清除緩存之前使用bash函數su nginx;
,但這不起作用。
之前緩存文件夾之前緩存明確:
drwxrwxrwx 11 nginx nginx 4096 Nov 4 13:23 dev
drwxrwxrwx 10 nginx nginx 4096 Nov 4 20:39 prod
而經過:
drwxrwxrwx 11 nginx nginx 4096 Nov 4 13:23 dev
drwxr-xr-x 10 root root 4096 Nov 4 20:39 prod
這是不是我可以在應用程序修復,或者是有設置的權限,使他們的方式不要變成root
ed?
編輯:我還要提到我想:
sudo chmod +a "nginx allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs
但是服務器無法識別+a
。
也試過用:
setfacl -R -m u:nginx:rwx app/cache app/logs
這並不錯誤,但不能解決問題。
這是否與在頂部使用'su nginx;'運行bash函數不同?無論如何,我會盡力嘗試更改文件以適應環境。 –
請記住,對於產品環境,您應該添加--env = prod,可能--no-debug –
對不起,這似乎不起作用。它甚至沒有創建緩存文件。 (我不能'su nginx',它說「用戶不可用」) –