阿帕奇 + Phusion 乘客。 Ubuntu 18.04。乘客进程在工作几个小时后被杀死
Apache + Phusion Passenger. Ubuntu 18.04. passenger process getting killed after working several hours
我有一个带有 apache + passenger 6.0.4 设置的 RoR 应用程序。由 DigitalOcean 主办。
它按预期工作了大约 6 个月,但最近它开始每隔几个小时从 apache 端出现“内部服务器错误”失败。它在重新启动 apache 后开始正常工作。
在数字海洋中,当此错误开始出现时,我可以看到 CPU 经常开始旋转到 100%。cpu metric screenshot
在 apache error.log 文件中,我可以看到这个错误出现在对服务器的每个请求中:
Unexpected error in mod_passenger: Cannot connect to the Passenger core at unix:/root/passenger/passenger.V1HJ9DZ/agents.s/core
Backtrace:
in 'Passenger::FileDescriptor Passenger::Apache2Module::Hooks::connectToCore()' (Hooks.cpp:343)
in 'int Passenger::Apache2Module::Hooks::handleRequest(request_rec*)' (Hooks.cpp:622)
在这些错误开始出现之前,我没有在 error.log 文件中发现任何具体错误。
发生这种情况时,apache 状态页面中没有 Passenger 进程。
passenger-status 显示此错误:
ERROR: Phusion Passenger doesn't seem to be running. If you are sure that it is running, then the causes of this problem could be:
1. You customized the instance registry directory using Apache's PassengerInstanceRegistryDir option, Nginx's passenger_instance_registry_dir option, or Phusion Passenger Standalone's --instance-registry-dir command-line argument. If so, please set the environment variable PASSENGER_INSTANCE_REGISTRY_DIR to that directory and run passenger-status again.
2. The instance directory has been removed by an operating system background service. Please set a different instance registry directory using Apache's PassengerInstanceRegistryDir option, Nginx's passenger_instance_registry_dir option, or Phusion Passenger Standalone's --instance-registry-dir command-line argument.
我已经尝试过这些解决方案:
- 将
PassengerRegistryDir
从 /tmp 移动到 /root/passenger。
我检查了乘客档案:他们没有被清理,所以他们没有问题。
当我手动删除这些文件时,我得到了同样的错误,但 Passenger 进程是 运行.
- 启用
mod_evasive
以保护服务器免受dos攻击。
- 设置
PassengerPoolIdleTime 0
- 正在检查 rails 日志文件 — 没有具体错误。
我认为乘客进程以某种方式被系统或其他原因杀死。
几天后我们发现我们的网络服务器受到了 ddos 攻击 + 加密挖矿恶意软件。
fail2ban 帮助解决了 ddos。
带有恶意软件的 clamscan。
我有一个带有 apache + passenger 6.0.4 设置的 RoR 应用程序。由 DigitalOcean 主办。 它按预期工作了大约 6 个月,但最近它开始每隔几个小时从 apache 端出现“内部服务器错误”失败。它在重新启动 apache 后开始正常工作。
在数字海洋中,当此错误开始出现时,我可以看到 CPU 经常开始旋转到 100%。cpu metric screenshot
在 apache error.log 文件中,我可以看到这个错误出现在对服务器的每个请求中:
Unexpected error in mod_passenger: Cannot connect to the Passenger core at unix:/root/passenger/passenger.V1HJ9DZ/agents.s/core
Backtrace:
in 'Passenger::FileDescriptor Passenger::Apache2Module::Hooks::connectToCore()' (Hooks.cpp:343)
in 'int Passenger::Apache2Module::Hooks::handleRequest(request_rec*)' (Hooks.cpp:622)
在这些错误开始出现之前,我没有在 error.log 文件中发现任何具体错误。
发生这种情况时,apache 状态页面中没有 Passenger 进程。 passenger-status 显示此错误:
ERROR: Phusion Passenger doesn't seem to be running. If you are sure that it is running, then the causes of this problem could be:
1. You customized the instance registry directory using Apache's PassengerInstanceRegistryDir option, Nginx's passenger_instance_registry_dir option, or Phusion Passenger Standalone's --instance-registry-dir command-line argument. If so, please set the environment variable PASSENGER_INSTANCE_REGISTRY_DIR to that directory and run passenger-status again.
2. The instance directory has been removed by an operating system background service. Please set a different instance registry directory using Apache's PassengerInstanceRegistryDir option, Nginx's passenger_instance_registry_dir option, or Phusion Passenger Standalone's --instance-registry-dir command-line argument.
我已经尝试过这些解决方案:
- 将
PassengerRegistryDir
从 /tmp 移动到 /root/passenger。 我检查了乘客档案:他们没有被清理,所以他们没有问题。 当我手动删除这些文件时,我得到了同样的错误,但 Passenger 进程是 运行. - 启用
mod_evasive
以保护服务器免受dos攻击。 - 设置
PassengerPoolIdleTime 0
- 正在检查 rails 日志文件 — 没有具体错误。
我认为乘客进程以某种方式被系统或其他原因杀死。
几天后我们发现我们的网络服务器受到了 ddos 攻击 + 加密挖矿恶意软件。
fail2ban 帮助解决了 ddos。 带有恶意软件的 clamscan。