W php potrzebujesz tylko apache lub nginx. Dlaczego szyny ruby potrzebują czegoś takiego jak puma lub jednorożec, gdy nginx jest już zainstalowany?Dlaczego szyny ruby potrzebują pumy lub jednorożca?
Odpowiedz
To nie jest do końca poprawne, aby uruchomić PHP z apache, potrzebujesz apache mod_php lub uruchom jako FastCGI module. Dla Nginx ten ostatni seems to be the norm.
Dla Ruby jest Phusion Passenger, który wypełnia tę rolę i obsługuje zarówno apache, jak i nginx. Na apache działa jako moduł wtyczek tak jak robi to mod_php. Dla Nginx nie jestem pewien.
Można jednak uruchamiać aplikacje Ruby za pomocą dedykowanego serwera aplikacji. Tutaj pojawia się Unicorn, Puma itp. Nic nie stoi na przeszkodzie, aby zrobić podobną konfigurację dla php, ale jest to mniej powszechne.
Inną rzeczą, która sprawia, że php jest łatwiejszy do wdrożenia w wielu przypadkach, jest to, że większość dystrybucji i instalacji serwera posiada apache i nginx już skonfigurowane do obsługi php, podczas gdy musisz ustawić to samodzielnie dla ruby.
Po skonfigurowaniu Pasażer wdraża aplikacje typu ruby prawie (ale nie do końca) tak samo, jak wdrażanie aplikacji php.
Ponieważ pracowałeś z php backendem, zakładam, że znasz moduły modphp lub fcgi. Są to rzeczywiste silniki, które kompilują i uruchamiają kod php. Ruby on rails nie może działać samodzielnie, podobnie jak php. Potrzebne jest coś takiego, jak puma lub pasażer phusion, aby go uruchomić. Nazywa się je serwerem aplikacji. Możesz użyć serwera aplikacji do bezpośredniej obsługi witryny, ale jest to zalecane podejście. Istnieją bardziej odpowiednie alternatywy, takie jak nginx, które ewoluowały właśnie w tym celu.
Możesz użyć jednorożca za proxy nginx. Może pomóc w obsłudze wielu żądań –