我使用Apache作为 反向代理 ,在其后面我使用Phusion Passenger(Rails服务器)作为 Application Server 即可。我对 Apache 如何与 Phusion Passenger (后面是 Application Server )进行通信感到困惑。
这是我得到的httpd
:
> ps aux | grep /MyWebsite/bin/httpd
googly 8353 0.0 0.0 73856 3280 ? Ss Aug26 0:00 /MyWebsite/bin/httpd -d /MyWebsite -f var/state/apache-1080/httpd.conf
googly 8391 0.0 0.0 73856 1828 ? S Aug26 0:00 /MyWebsite/bin/httpd -d /MyWebsite -f var/state/apache-1080/httpd.conf
... # showing that 8353 forks 10 process, and 8353 is the father process
当HTTP请求到来时,Apache会分配一个进程来处理此请求(例如进程8391
),并将其传递给Application Server。
我的问题是,这件事真的发生了什么? Apache如何与Application Server通信?我认为在这种情况下,不同的Application Server是相似的。
8391
是否将请求传递给Phusion Passenger?如果是这样,Phusion Passenger应该有自己独立的进程,对吗?或者8391
可以被视为Phusion Passenger进程,它可以自己处理请求吗?
答案 0 :(得分:1)