Cet article présente principalement la méthode de configuration du port 80 de partage de Nginx et Apache. Bien entendu, si vous souhaitez que Nginx ne concurrence pas Apache pour le port 80, la méthode de modification du port Nginx est également jointe à la fin de cet article. qui en a besoin peuvent s'y référer
Une solution d'application Nginx + Apache typique peut être que Nginx occupe le port 80, filtre les requêtes statiques, puis demande dynamiquement le proxy au port Apache 8080. L'avantage du proxy inverse Proxy est que lors de l'accès, il s'agit toujours du port 80 et les visiteurs ne remarqueront aucune différence.
Mais certaines applications sont effectivement très "intelligentes" et reconnaissent que le port où se trouve Apache est 8080, et ajouteront ce qui suit : 8080 à tous les hyperliens pertinents. S'il est déjà mort, puis-je toujours avoir un accès normal ? !
Il existe un moyen de résoudre ce problème, qui consiste à exécuter Apache sur le port 80. Le même serveur a Nginx et Apache, deux services httpd, tous deux 80, n'y aura-t-il pas de conflit ?
Ce qui suit est un exemple.
Modifiez
server { listen 80; server_name www.webyang.net; }
dans la configuration de Nginx.conf.
server { listen 192.168.3.3:80; #指定Nginx只占用某个IP的80端口。 listen 192.168.10.3:80; #如果你服务器中有多个IP,还可以指定多个。 server_name www.webyang.net; }
Si vous avez plusieurs hôtes virtuels dans Nginx, chacun doit être modifié comme ceci.
Ensuite, c'est au tour du httpd.conf
d'Apache de changer l'original
Listen 80
en
Listen 127.0.0.1:80
Identique à Nginx, précisez l'IP et le port occupés par Apache.
Enregistrez et quittez, redémarrez Apache pour prendre effet.
Si vous disposez également de plusieurs hôtes virtuels sur Apache. Il n’est pas nécessaire de les modifier un à un comme Nginx, du moment qu’ils sont tous sur le port 80.
Par exemple :
NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin hello@abc.com DocumentRoot /data/web_server/admin ServerName www.webyang.net </VirtualHost>
Pensez-vous que tout ira bien ? Non.
Un tel Apache n'est accessible que via http://127.0.0.1:80, cela n'a donc aucun sens qu'il occupe le port 80. Il est préférable d'utiliser 8080 pour Apache et 80 pour Nginx.
Donc, si votre serveur a plusieurs IP à ce moment-là, en plus de lier Apache à 127.0.0.1, vous pouvez également lier l'IP d'une autre carte réseau, alors le problème sera résolu.
Mais la plupart des gens n’ont qu’une seule IP indépendante, cette méthode est donc un mirage pour beaucoup de gens.
Modifiez une idée, Apache est toujours le port 8080, modifiez le fichier de configuration d'un nom de domaine nginx
location / { try_files $uri @apache; } location @apache { internal; proxy_pass http://127.0.0.1:8080; } location ~ .*.(php|php5)?$ { proxy_pass http://127.0.0.1:8080; }
À ce moment, Toutes les actions sur ce nom de domaine passent par Apache, y compris les fichiers statiques.
Il y a aussi beaucoup de gens qui écrivent de cette façon :
upstream zend { server 127.0.0.1:8080; } location / { proxy_pass http://zend; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Scheme $scheme; } location ~ .*.(php|php5)?$ { proxy_pass http://zend; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Scheme $scheme; }
C'est à peu près similaire.
Modification du port Nginx
Modifier l'implémentation du fichier nginx.conf. Le chemin de ce fichier sous Linux est /usr/local/nginx/conf/nginx.conf, et le répertoire d'installation confnginx.conf sous Windows.
server { listen 80; server_name localhost; …… }
a été remplacé par
server { listen 81; server_name localhost; location / { root html; index index.html index.htm; } …… }
Bien sûr, vous pouvez le changer en 8080, 8081, etc. Il n'est pas nécessaire qu'il soit 81, mais assurez-vous qu'iptable autorise l'accès à ce port.
Notez la configuration de l'emplacement :
root html; #根目录,相对于安装目录 index index.html index.htm; #默认主页
Par défaut, vous mettez le fichier dans le dossier html du répertoire d'installation. Nginx.
Recommandations associées :
Comparaison entre Nginx et Apache
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!