web-dev-qa-db-fra.com

Comment configurer Apache sur Ubuntu 14.04 si Nginx est déjà installé

J'ai suivi le didacticiel sur Digital Ocean et installé le serveur LEMP avec succès.

Ensuite, j'ai lu des informations sur le proxy inverse utilisant Nginx et Apache pour l'hébergement de plusieurs sites Web sur le même droplet.

Depuis que j'ai une grosse goutte, je voudrais héberger deux Laravel APP basés sur la même goutte.

Donc, en utilisant ce tutoriel, j'ai installé Apache2 LINK

Mais malheureusement, Apache ne fonctionne pas

$ Sudo service Apache2 reload
 * Reloading web server Apache2                                               *
 * Apache2 is not running

Alors j'ai fait

 Sudo netstat -tlpn

et a obtenu cette table

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         Stat     e       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LIST     EN      5377/nginx
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LIST     EN      1233/sshd
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LIST     EN      3529/mysqld
tcp6       0      0 :::80                   :::*                    LIST     EN      5377/nginx
tcp6       0      0 :::22                   :::*                    LIST     EN      1233/sshd

Je suis un utilisateur Windows et je n'ai aucune idée de comment résoudre ce problème.

Quelqu'un peut m'aider .

Merci,

2

Nginx fonctionne sur le port 80 et c'est bon. Le port par défaut pour Apache httpd est également le port 80, ce qui pose problème.

Reconfigurer Apache httpd

  • Utilisez le port 8080 pour votre httpd Apache. Ouvrir ports.conf

    Sudo nano vi /etc/Apache2/ports.conf
    

    et remplacer

    Listen 80
    

    avec

    Listen 8080
    

    Faites de même pour les hôtes virtuels, si nécessaire.

  • Redémarrez Apache httpd

    Sudo systemctl restart Apache2
    

    ou sur Trusty avec

    Sudo service Apache2 restart
    
  • Vérifiez la sortie de netstat

    $ Sudo netstat -tulpn | grep Apache2
    tcp6   0  0 :::8080   :::*  LISTEN  22769/Apache2
    

    Et oui, également avec la sortie ci-dessus, httpd écoute sur le port TCP 80.

  • Reconfigurez nginx pour fonctionner en tant que proxy et utilisez votre Apache httpd comme backend, par exemple. pour le port 80 en éditant /etc/nginx/sites-available/default

    Sudo nano /etc/nginx/sites-available/default
    

    et ajoutez les paramètres de proxy ci-dessous dans la section location

    proxy_pass http://127.0.0.1:8080;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto http;
    proxy_set_header X-Forwarded-Port 80;
    proxy_set_header Host $Host;
    
  • Redémarrez nginx

    Sudo systemctl restart nginx
    

    ou sur Trusty avec

    Sudo service nginx restart
    
  • Vérifiez la sortie de netstat

    $ Sudo netstat -tulpn | grep -P 'nginx|Apache2'
    tcp  0  0 0.0.0.0:80  0.0.0.0:*  LISTEN  22973/nginx -g daem
    tcp6 0  0 :::80       :::*       LISTEN  22973/nginx -g daem
    tcp6 0  0 :::8080     :::*       LISTEN  22769/Apache2 
    

Et c'est une bonne idée de configurer httpd pour n'écouter que sur 127.0.0.1.

4
A.B.