6 votes

Comment faire fonctionner deux serveurs web différents sur le même serveur ?

Je sais que vous ne pouvez pas écouter le même port et la même IP en utilisant deux processus de serveur différents, mais apparemment, c'est possible si vous attribuez une adresse IP distincte à chacun. Est-ce le cas ? J'envisage de faire tourner à la fois ningx et Apache sur le même serveur (j'aimerais également savoir si c'est une bonne idée), essentiellement parce qu'idéalement, j'aimerais essayer de passer à nginx mais son support de Tomcat n'est pas génial, donc je pense que je devrais garder Apache pour cela.

Quelqu'un a-t-il fait quelque chose de semblable, est-ce recommandé et comment s'y prendre ?

7voto

technojohn Points 19

Apache et nginx prennent tous les deux des arguments pour les adresses à écouter ; si vous voulez qu'apache soit sur 192.168.1.100 et nginx sur 192.168.1.110, vous devez ajouter ce qui suit aux fichiers de configuration respectifs :

httpd.conf (ou /etc/apache/ports.conf, selon la distro) :

listen 192.168.1.100:80

nginx.conf :

server {
    # port to listen on. Can also be set to an IP:PORT
    listen 192.168.1.110:80;
    . . .

4voto

user9517 Points 113163

Oui, avec deux adresses IP, nginx et apache peuvent tous deux écouter sur le port 80. Vous pouvez également configurer apache pour qu'il écoute sur la même adresse IP mais sur un port différent et faire en sorte que nginx envoie des requêtes par proxy à apache pour les domaines d'apache.

server {
    listen 1.2.3.4:80;
    server_name apache_domain.com www.apache_domain.com;
    location / {
    proxy_pass http://1.2.3.4:81/;
    proxy_redirect http://1.2.3.4:81/ /; 
    ...

pour apache écoutant sur le port 81.

0 votes

Y a-t-il des avantages à utiliser un mandataire ? Il semble que cela ne ferait qu'ajouter une couche d'abstraction inutile au mélange.

0 votes

Très utile, merci ! Il est évident que ce n'est pas une configuration idéale, mais j'ai malheureusement besoin de faire tourner les deux serveurs web sur la même IP (car certaines anciennes applications attendent/dépendent d'Apache).

0 votes

@BrianLacy : Vous devrez utiliser l'un comme un proxy pour l'autre alors.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X