Domanda

Qualcuno ha avuto successo eseguendo due server Web diversi, come Apache e CherryPy, uno accanto all'altro sulla stessa macchina?Sto sperimentando con altri server web in questo momento e mi piacerebbe vedere se riesco a fare i miei esperimenti mantenendo attivi e funzionanti gli altri miei siti.Si potrebbe dire che questa non è tanto una questione di software specifico quanto una questione di rete generale.

  • So che è possibile eseguire due server web su porte diverse;ma esiste un modo per configurarli in modo che possano essere eseguiti su stesso porto (vale a dire, entrambi funzionano sulla porta 80)?
  • I server web lo farebbero non servire file dagli stessi domini.Ad esempio, Apache potrebbe servire documenti da foo.domain.com e l'altro server web da bar.domain.com.

So che questa non è una configurazione ideale.Vorrei solo vedere se è possibile farlo prima di correre nella tana del coniglio.:)

È stato utile?

Soluzione

Non è possibile avere due processi associati alla stessa porta sullo stesso indirizzo IP.Puoi aggiungere un altro indirizzo IP alla casella e fare in modo che ciascun server sia in ascolto su uno di essi.

Un'altra opzione è passare tramite proxy un server all'altro.Con Apache, potresti fare qualcosa del tipo:

NameVirtualHost *
<virtualhost *>
  ServerName other.site.com

  # assumes CherryPy listens on port 8080
  ProxyPass / http://127.0.0.1:8080/
  ProxyPassReverse / http://127.0.0.1:8080/
</Virtualhost>

Questo è un esempio piuttosto veloce, ma puoi sempre controllare il file Documentazione ProxyPass.Ricorda, tuttavia, che l'applicazione a cui viene eseguito il proxy otterrà 127.0.0.1 nei suoi log invece dell'indirizzo IP del richiedente.Alcuni server web (apache lo fa con mod_rpaf) può sostituire l'intestazione X-Forwarded-For al posto dell'indirizzo IP sbagliato.Forse CherryPy ha questo?

Altri suggerimenti

La soluzione migliore sarebbe mettere Apache httpd davanti alla porta 80 e inoltrare le richieste destinate ad altri server tramite Apache utilizzando i moduli.Lo scenario più popolare sarebbe Tomcat dietro Apache dove sarai in grado di eseguire sia applicazioni php che jsp.

Non ho familiarità con CherryPy, quindi posso solo suggerirti di cercare un modulo Apache per CherryPy.

Modificare:Questo sembra promettente: http://tools.cherrypy.org/wiki/BehindApache

In alternativa, alla risposta corretta di Ishmaeel, se disponi di un server con 2 schede di rete, potresti fare in modo che ciascun server risponda alle richieste su indirizzi IP diversi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top