日志文件未被写入(乘客)

本地,我的应用程序运行良好,并写入它的日志。

我的生产服务器运行CentOS,运行Passenger的Apache服务器。 当试图debugging时,我注意到我的日志文件没有被写入。 我做的第一件事是chmod 0666他们,当我发现没有工作,我看着我的Apache日志。 我find了这个:

Rails错误:无法访问日志文件。 请确保/var/www/vhosts/mysite.com/rails/exp/releases/20091124020342/log/production.log存在并且是chmod 0666.日志级别已提升为WARN,输出指向STDERR,直到出现问题是固定的。

(注:我正在与capistrano部署)

无论如何,我search了一下,发现有人说这是一个SELinux问题,所以我查看了乘客的文档,发现这个: http : //www.modrails.com/documentation/Users%20guide.html#%5Fmy%5Frails%5Fapplication%5F8217 %5Fs%5Flog%5Ffile%5Fis%5Fnot%5Fbeing%5Fwritten%5Fto

基本上这样说: chcon -R -h -t httpd_sys_content_t /path/to/your/rails/app

但是,当我填写正确的path时,我得到: Operation not supported

漂亮难住…有什么想法?

使用乘客处理的用户运行的顶部检查。 IIRC它不一定是www-data / apache用户。

我没有特别的乘客经验,但有一件事你可能要检查的是确保用户运行Apache(或任何守护进程是负责写入日志文件)具有所需的权限,通过CD整个文件path给。