ruby-on-rails - 在出现 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。
任何帮助,将不胜感激。
解决方案
尝试这个
设置强制 0
然后
systemctl 守护进程重载
systemctl 重启 httpd
如果这会有所帮助
推荐阅读
- java - 为什么当我尝试运行我的应用程序时 Eclipse 会显示多个应用程序配置?
- django - Django 在附件中发送空 PDF
- python - 使用 selenium 进行 Web 抓取 - 列表超出索引 - 问题
- javascript - 尝试在节点JS中顺序运行多个等待方法,它们是并行运行的
- flutter - 使用 Duration 的颤振倒数计时器
- matlab - 如何修复 MulticlassECOC SVM 模型代码生成中的大小不匹配错误?
- reactjs - 如何从状态中删除数据以更新 React Native 中的 FlatList?
- shell - 如何从 Jenkins Pipeline sh 脚本步骤返回 stdout 和 stderr 以及状态
- php - AWS s3 getIterator ListObjects 移动到另一台服务器后产生错误
- docker - Ubuntu 18.04 的存储库问题