首页 > 解决方案 > 在出现 FIFO 权限错误的 AWS Red Hat EL 7 上生成乘客/铁路应用程序时出现问题

问题描述

我正在尝试使用带有 Apache 的乘客部署 Rails 应用程序。Apache 正在运行,但由于以下错误,Passenger 无法启动。显然/tmp目录中有一个文件权限,但这是在 AWS RHEL 7 实例上,它的设置似乎与“普通”RHEL 7 服务器不同。

Cannot create FIFO file /tmp/passenger.spawn.XXXX29k0aH/response/finish: Permission denied (errno=13)
     in 'void Passenger::SpawningKit::HandshakePrepare::createWorkDir()' (Prepare.h:125)
     in 'Passenger::SpawningKit::HandshakePrepare& Passenger::SpawningKit::HandshakePrepare::execute()' (Prepare.h:558)
     in 'void Passenger::SpawningKit::SmartSpawner::internalStartPreloader(Passenger::SpawningKit::Config&, Passenger::SpawningKit::HandshakeSession&, const Passenger::Json::Value&)' (SmartSpawner.h:345)
     in 'void Passenger::SpawningKit::SmartSpawner::startPreloader()' (SmartSpawner.h:310)
     in 'virtual Passenger::SpawningKit::Result Passenger::SpawningKit::SmartSpawner::spawn(const AppPoolOptions&)' (SmartSpawner.h:1281)
     in 'void Passenger::ApplicationPool2::Group::spawnThreadRealMain(const SpawnerPtr&, const Passenger::ApplicationPool2::Options&, unsigned int)' (SpawningAndRestarting.cpp:95)

我有一个非特权帐户拥有的 Rails 应用程序,并且在该/tmp目录中创建目录和文件作为该非特权帐户没有问题,因此似乎正在发生其他事情。我也找不到/tmp/passenger.spawn.XXXX29k0aH目录,甚至找不到类似的东西。

这是我在 AWS 上使用 RHEL 7 的第一次部署,我过去成功部署的 Ubuntu 和 AWS 上的 RHEL 7 之间似乎存在许多差异,出于组织方面的考虑,我需要使用 RHEL 7。

任何帮助,将不胜感激。

标签: ruby-on-railsamazon-ec2passenger

解决方案


尝试这个

设置强制 0

然后

systemctl 守护进程重载

systemctl 重启 httpd

如果这会有所帮助


推荐阅读