Experimentujem s niekoľkými jazykmi (Python, Ruby ...) a chcel by som vedieť, či existuje nejaký spôsob optimalizovať načítať môj server Apache istý moduly iba v istý Napríklad VirtualHost:
http://myapp1 <- just with Ruby support
http://myapp2 <- just with Python support
http://myapp3 <- just with Php support
...
Vďaka.
odpovede:
3 pre odpoveď č. 1Každý pracovník Apache načíta každý modul, takže nie je možné robiť v samotnom Apache.
Musíte presunúť svoje jazykové moduly do procesov, ktoré sú mimo pracovníkov Apache.
Toto sa vykonáva pre vaše jazyky pomocou nasledujúcich modulov:
- PHP: mod_fastcgi, Viac informácií: Apache + chroot + FastCGI.
- krajta: mod_wsgi v režim démona.
- rubín: Cestujúci / mod_rack
0 pre odpoveď č. 2
Nemyslím si, že je to možné, pretože
- Rovnaký proces vlákna alebo vidlice môže slúžiť na zobrazovanie stránok z rôznych virtuálnych hostiteľov. Takže, ak sa načíta iba python, čo sa stane, keď bude potrebné obslúžiť rubín?
- Z dôvodu 1 sú určité smernice určené iba pre webový server a nie sú špecifické pre virtuálne servery. MaxRequestsPerChild, LoadModule atď. Sú také.
0 pre odpoveď č. 3
Myslím si, že jediný spôsob je mať "proxy" webový server, ktorý odosiela požiadavky na skutočné servery ...
Proxy server má zoznam názvov domén -> Jazyk na strane servera a nerobí nič iné, iba prehľadne presmeruje na správny reálny server.
Existuje N skutočný server, každý so špecifickým serveromkonfigurácia a podpora a načítanie jedného jazyka ... každý server bude samozrejme počúvať na inom porte a prípadne iba na zariadení so spätnou väzbou
Apache mod_proxy by mal túto úlohu vykonať
Môj 2 centov
0 pre odpoveď č. 4
My Idea je niekoľko apache procesov (každý z nich)s rôznymi konfiguráciami) počúvanie na rôznych adresách a / alebo portoch a http proxy (chobotnice alebo apache) v prednom presmerovaní na príslušný server. To má možnú pridanú výhodu ukladania do pamäte cache.