有一些示例如何将基于 EM 的服务与正常的 HTTP 服务一起部署,由Passenger 支持,例如EventMachine 和 Passenger。HTTP 组件由 HTTP 服务(nginx、apache)激活,由 Passenger 托管/监控,然后该激活的组件可以启动 EM 处理。
但是,我正在研究如何部署仅基于 EM 的服务(UDP 服务器)。不响应 HTTP 的东西,因此它不存在于整个 Apache/Nginx/Passenger 环境中。
通常答案是“启动你的进程并启动 EM 循环”,但我不想错过 apache/nginx/passenger 带来的好处(初始化、启动、配置、日志记录、资源监控)。在 init.d 中放置一个“ruby udp_server.rb”似乎有点原始,并且容易发生实际部署灾难(失控进程等)。