2011-05-11 18 views
11

Sto lavorando su Windows 7. IIS 7 e XAMPP sono installati sullo stesso computer. Ho giocato con il file host win e i file di configurazione di apache per comprendere Server Root e directory.Apache e IIS 7 in esecuzione insieme

Non so dove ho incasinato, che so quando digito localhost mi mostra schermata IIS 7 e quando localhost/xampp quindi schermata apache.

Come IIS e Apache possono funzionare insieme alla porta 80? confuso.

enter image description here

enter image description here

enter image description here

risposta

17

E 'fattibile. La cosa da tenere a mente è che nessun servizio può condividere la stessa porta e l'indirizzo IP. Sfortunatamente, IIS prende completamente la porta 80 sull'indirizzo 0.0.0.0 magico. Quello che devi fare è legare nuovamente apache e IIS a indirizzi IP diversi e rimuovere l'associazione 0.0.0.0. Non sono proprio sicuro di come arrivarci su IIS7 (presumendo che tu stia eseguendo data IE9 nelle schermate), l'ultima volta che ho tirato questo stunt IIS6 è stato falso.

Un'alternativa più ragionevole sarebbe quella di impostare un proxy inverso su 80 e distribuirlo manualmente a server Web diversi in base ai criteri razionali che si desidera utilizzare.

EDIT: trovato il juju magia, IIS7 post #44 - IIS7 and Apache on the same machine.

+0

L'ho fatto esattamente come il link che hai indicato. Funziona con successo su IIS 7, Windows 2008 da circa un anno. –

+0

Strano, se digita localhost da firefox, sta mostrando localhost per apache. Ma provo la stessa cosa in IE 9 mostra la home page di iis 7. – Gainster

+0

Echo out dell'ip remoto, uno sta forse utilizzando v6 su v4. –

9

Come eseguire IIS e XAMPP insieme sullo stesso macchina

E 'possibile eseguire i server IIS e XAMPP insieme sulla stessa macchina da solo cambiando il numero di porta di uno qualsiasi dei server. XAMPP-Apache e IIS entrambi utilizzano la stessa porta 80 per connettersi. In questo post ho intenzione di mostrare come modificare il numero di porta per il server XAMPP-Apache. La modifica del numero di porta per il server Apache consente di eseguire sia server IIS che XAMPP sulla stessa macchina utilizzando porte diverse.

In primo luogo, è necessario conoscere la cartella in cui è installato XAMPP (cartella principale). La cartella predefinita è c: \ xampp. Dalla cartella principale, accedere alla cartella "apache \ conf" e trovare il file "httpd.conf".

Prima di modificare il file, eseguire un backup con un nome "httpd.conf.bak" in modo che se qualcosa va storto, è possibile sostituire questo file. Ora apri il file "httpd.conf" con un editor come Notepad. È necessario apportare due modifiche al file.

Il primo:

scoprire le righe sotto nel file.

#Listen 0.0.0.0:80 
#Listen [::]:80 
Listen 80 

cambiamento come illustrato di seguito:

#Listen 0.0.0.0:80 
#Listen [::]:80 
Listen 8080 

La seconda modifica:

trovare la linea di seguito:

ServerName localhost:80 

modificarla in:

ServerName localhost:8080 

Hai completato la modifica del numero di porta. Ora riavvia il tuo server Apache dal pannello di controllo di xampp ed è pronto per essere eseguito.

Aprire il browser e immettere l'indirizzo localhost:8080. È possibile vedere la cartella radice di apache aperta. Non è necessario apportare modifiche al server IIS e accedervi inserendo semplicemente l'indirizzo localhost nel browser.

Nello screenshot precedente è possibile visualizzare il server IIS a cui si accede tramite localhost e il server XAMPP tramite localhost:8080 sulla stessa macchina e persino lo stesso browser alla volta.

+1

Non funziona per me – Med7at

+0

Lo stesso qui. Non funziona anche per me. – gdmanandamohon

5

In caso di cercare di ottenere XAMPP (Apache) e IIS (5.1) che lavorano su WinXP questo è quello che ho fatto:

C: \ xampp \ apache \ conf \ httpd.conf: La ricerca di “Ascolta 80 ", il cambiamento di“ascoltare 8080 " Cerca“ServerName localhost: 80 ", cambio a“ServerName localhost: 8080 "

C: \ xampp \ apache \ conf \ aggiuntivo \ httpd-ssl.conf Cerca "Ascolta 443", passa a "Ascolta 4499" Cerca "", passa a "" Cerca "ServerName localhost: 443", cambia in "ServerName localhost: 4499 "

[Quindi, accedere al tuo fianco Apache localhost eseguendo: 8080 e laterale ISS per semplice loccalhost]

+0

facile ed efficace..grazie molto..in C: \ xampp \ apache \ conf \ extra \ httpd-ssl.conf file ho avuto invece su localhost ho avuto ServerName examplewebsite. Dopo aver modificato entrambi i file (non solo httpd.conf), sono stato in grado di avviare xamp v3.2.2 insieme a IIS. – Shantu

0

Ho affrontato lo stesso problema. Comunque ho risolto in questo modo. L'ho preso da here, è stato davvero efficace per me quando tutte le soluzioni non sono state in grado di fornirmi una soluzione assoluta.

  1. Vai a Pannello di controllo> Strumenti di amministrazione> fare clic su servizi
  2. Trova “World Wide Web servizio Pubblicazione”
  3. clic destro e selezionare “Stop”
  4. clic destro e selezionare “Proprietà”, quindi il cambiamento “tipo di avvio” a “Manuale”

Se ciò non dovesse risolvere il problema, si può scoprire che cosa sta usando la porta 80 come segue:

In un prompt dei comandi, eseguire 'netstat -ao> netstat.txt' per scrivere le connessioni attive e gli ID di processo associati (PID) in un file (per me, c'erano troppi per visualizzarli nel prompt dei comandi) Trova il PID che sta ascoltando sulla porta 80 (0.0.0.0:80) - per me, il PID era 4, che sembra abbastanza comune Apri Task Manager (Ctrl + Shift + Esc), fai clic con il pulsante destro del mouse sulle intestazioni delle colonne, quindi fai clic PID per mostrare la colonna PID. Ordina per PID per trovare il processo per il PID che hai identificato sopra. Una volta che conosci il processo che causa il problema, un po 'di Google (altri provider di ricerca sono disponibili) dovrebbe aiutarti a risolverlo.

Problemi correlati