在本地,我的应用程序运行良好并写入其日志。
我的生产服务器运行 CentOS,Apache 服务器运行乘客。尝试调试时,我注意到我的日志文件没有被写入。我做的第一件事是 chmod 0666 他们,当我发现这不起作用时,我查看了我的 apache 日志。我发现了这个:Rails 错误:无法访问日志文件。请确保 /var/www/vhosts/mysite.com/rails/exp/releases/20091124020342/log/production.log 存在并且是 chmod 0666。日志级别已提升到 WARN 并且输出定向到 STDERR 直到出现问题是固定的。
(注意:我正在使用 capistrano 进行部署)
无论如何,我搜索了一下,发现有人说这是一个 SELinux 问题,所以我查看了乘客的文档,发现了这个:http ://www.modrails.com/documentation/Users%20guide.html#_my_rails_application_8217_s_log_file_is_not_being_written_to
基本上说这样做: chcon -R -h -t httpd_sys_content_t /path/to/your/rails/app
但是,当我填写正确的路径时,我得到:不支持操作。
很困惑……有什么想法吗?