Nginx (pour les fichiers statiques) et Apache (pour le contenu dynamique)?

Donc, toute mon application s'exécute sur apache très bien. Cependant, je veux tester combien les demandes par seconde augmentent si je place tous les fichiers statiques via nginx à la place.

J'ai trouvé ce fil: https://stackoverflow.com/questions/869001/how-to-serve-all-existing-static-files-directly-with-nginx-but-proxy-to-apache-t

Mais j'ai quelques problèmes. Je suis complètement nouveau pour nginx, alors je ne sais pas où mettre la configuration. (Le fichier se trouve à /etc/nginx/nginx.conf, mais je ne sais pas si j'ajoute le code au bas ou quoi?)

De plus, comment puis-je avoir les deux serveurs en même temps? Est-ce parce qu'ils écoutent tous les deux sur le port 80? En ce moment, je dois m'arrêter pour commencer l'autre, et c'est aussi loin que je l'ai eu.

Merci pour toute aide.

2 Solutions collect form web for “Nginx (pour les fichiers statiques) et Apache (pour le contenu dynamique)?”

Ils peuvent être sur le même port, s'ils sont sur des IP différentes. Ou ils peuvent être sur différents ports avec la même adresse IP, mais pas les deux (peuvent également être différents IP et différents ports). Le scénario IP multiple est nécessaire si ce sont des serveurs différents, mais vous pouvez utiliser plusieurs IP sur le même serveur.

Je jure que je n'essaie pas de te confondre 🙂

La directive de localisation dans le lien que vous avez fourni entrerait dans la directive du serveur (Notez que dans la documentation de la directive de localisation, il existe "contexte: serveur"). Si vous utilisez une version récente d'Ubuntu avec une installation d'installation par défaut, vous souhaitez probablement modifier la valeur par défaut dans le répertoire activé par les sites. Par exemple (genre de bête car il passe tout à Apache):

server { listen 80 default; access_log /var/log/nginx/localhost.access.log; location / { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:2500; } } 

Dans ce cas, j'utilise le même serveur pour les deux. Nginx écoute 80 et Apache écoute le 2500. Vous diraz DNS à l'ip du serveur Nginx car c'est celui qui gère toutes les requêtes en proxying pour les autres serveurs. Fondamentalement, du point de vue du client, ils ne parlent qu'avec le serveur Nginx.

Je ne peux pas aider avec la configuration nginx, parce que je ne l'ai pas encore utilisé, mais si vous regardez les extraits de configuration dans cette question que vous avez liée, vous verrez qu'Apache fonctionne sur le port 8080. C'est le Clé pour avoir les deux fonctionner à la fois – ils doivent être sur différents ports. Parce que nginx proxying pour Apache, l'utilisateur ne voit jamais le port sur lequel ce dernier fonctionne, ni il / elle doit le faire.

  • Autoriser l'authentification NTLM vers le proxy d'entreprise à partir du server proxy local
  • Des choses étranges dans l'en-tête Accept-Language commençant par x-ns
  • apache proxyremote et http
  • MIKROTIK - Définir l'authentification par proxy
  • Contrôle d'access Internet sans calamar
  • Comment réapather les browsers obsolètes avec la carte NGinx?
  • Proxy vers l'avant avec réécriture d'URL
  • Nginx plusieurs servers frontend avec configuration DNS SSL?
  • Préférences de stratégie de groupe Internet Explorer 9 et 10 manquantes
  • Surveillance des users VPN sur mon réseau
  • Bloquer Facebook pour les users sélectionnés
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de réseau.