Apache如何与应用服务器通信
我使用Apache作为反向代理,在它后面我使用(Rails服务器)作为应用服务器。我对Apache如何与Phusion Passenger(其背后的应用服务器)通信感到困惑。 以下是我从httpd获得的信息:Apache如何与应用服务器通信,apache,http,webserver,passenger,reverse-proxy,Apache,Http,Webserver,Passenger,Reverse Proxy,我使用Apache作为反向代理,在它后面我使用(Rails服务器)作为应用服务器。我对Apache如何与Phusion Passenger(其背后的应用服务器)通信感到困惑。 以下是我从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 va
> 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会分配一个进程来处理该请求(例如process8391
),并将其传递给应用服务器
我的问题是,这到底是怎么回事?Apache如何与应用服务器通信?我认为在这种情况下,不同的应用服务器是相似的
8391
是否将请求传递给Phusion乘客?如果是这样,Phusion乘客应该有自己的独立流程运行,对吗?或者可以将8391
视为Phusion乘客流程,它可以自行处理请求?- Apache接受根据线程生成的请求
- 它将请求发送回应用程序服务器
- 在收到应用服务器的响应之前,Apache线程将处于等待/运行状态
- Apache将请求发送回客户端
- Apache在确认数据后关闭连接
- apache确认数据后,应用程序服务器线程关闭
Listen 1080
,这是否意味着应用程序服务器正在使用端口1080?问上述问题的目的是什么,它没有理解你原来的帖子。是的,你的理解是正确的,并在我上面的回答中作了简要解释。我相信这会有帮助。