国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ruby-on-rails – Wie Apache mit Anwendungsservern interagiert
為情所困
為情所困 2017-05-16 17:03:37
0
3
920

Eine der Rails-Bereitstellungsl?sungen besteht darin, Apache als Reverse Proxy zu verwenden, um Anfragen an den Anwendungsserver (z. B. Phusion Passenger) weiterzuleiten. Wie interagiert Apache als Reverse-Proxy-Server mit dem dahinter liegenden Anwendungsserver?
Mein Apache lauscht zum Beispiel auf Port 1080 und überprüft die Prozessinformationen:

> 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
... # 起了10個進程,并且我知道8353是父進程,其余的是子進程

Wenn eine Anfrage eingeht, geht sie zuerst an Apache. Apache weist einen Prozess aus diesen Prozessen zu, um die Anfrage zu bearbeiten (z. B. wird der Prozess 8391 zugewiesen). Was wird der Prozess 8391 tun? Wird er diese Anfrage an den nachfolgenden Anwendungsserver (Phusion Passenger) weiterleiten? Wenn ja, verfügt der Anwendungsserver auch über einen eigenen unabh?ngigen Prozess? Oder kann der Prozess 8391 als Anwendungsserverprozess betrachtet werden und diese Anfrage selbst bearbeiten?
Wie interagiert Apache mit dem dahinter h?ngenden Anwendungsserver?

為情所困
為情所困

Antworte allen(3)
過去多啦不再A夢

看到這個問題很久了當時沒有回答,現(xiàn)在來回答一下。

Rails是自帶web服務器的,負責監(jiān)聽特定端口提供服務。

ruby語言是有http相關api的,你甚至可以自己寫一個簡略的靜態(tài)文件服務器。而且有許多強大的gem提供類似服務。

Apache是專業(yè)的http服務器,原則上只能夠響應最基礎的靜態(tài)文件。

PHP語言在Apache下的最普遍運行方式是作為它的插件,換句話說就是把Apache變的可以響應php文件請求了。

用Apache搭配Phusion Passenger來部署Rails應用主要是為了有更加優(yōu)雅的錯誤提示和自動化的錯誤處理(主要是重啟),還有更加完善的日志系統(tǒng)以及高級功能如負載均衡等。

而用rails s或者thin等web服務器來啟動服務也是完全可以的,只是不管是對瀏覽者還是對開發(fā)者而言,都沒有那么好用而已。

如果你不需要自動錯誤處理其實用nginx反向代理rails s或者thin的端口是最好的選擇。

洪濤

如果你配置的是反向代理的話,那么 Apache 接下來會充當一個 HTTP 客戶端,以把同樣的請求發(fā)給應用服務器,得到結果之后再發(fā)給真正的客戶端。

劉奇

你起了apache之后它就會有十幾二十個進程起來(這要看你的配置了)
然后在apache收到request之后有一個進程會處理它,如果它符合反向代理的條件,就會把request發(fā)送到你的應用服務器
其實應用服務器應該也是能夠直接訪問的(除非有什么防火墻啊之類的)
反正就是應用服務器收到了request,然后傳回一個response給apache
apache再把response傳回給瀏覽器
不過在這過程中可能還需要配置下對于response中間的html里面的url的改寫

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage