Maison développement back-end tutoriel php Explication détaillée de la méthode de configuration du port de partage Nginx et Apache 80

Explication détaillée de la méthode de configuration du port de partage Nginx et Apache 80

May 05, 2018 am 09:57 AM
apache nginx 端口

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;
}
Copier après la connexion

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;
}
Copier après la connexion

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
Copier après la connexion

en

Listen 127.0.0.1:80
Copier après la connexion

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>
Copier après la connexion

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;
}
Copier après la connexion

À 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;
}
Copier après la connexion

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;
 
 ……
}
Copier après la connexion

a été remplacé par

server {
 listen  81;
 server_name localhost;
 
 location / {
 root html;
 index index.html index.htm;
 }
 ……
}
Copier après la connexion

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; #默认主页
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment vérifier si Nginx est démarré Comment vérifier si Nginx est démarré Apr 14, 2025 pm 01:03 PM

Comment confirmer si Nginx est démarré: 1. Utilisez la ligne de commande: SystemCTl Status Nginx (Linux / Unix), netStat -ano | Findstr 80 (Windows); 2. Vérifiez si le port 80 est ouvert; 3. Vérifiez le message de démarrage NGINX dans le journal système; 4. Utilisez des outils tiers, tels que Nagios, Zabbix et Icinga.

Comment configurer le nom de domaine du serveur cloud dans nginx Comment configurer le nom de domaine du serveur cloud dans nginx Apr 14, 2025 pm 12:18 PM

Comment configurer un nom de domaine NGINX sur un serveur cloud: Créez un enregistrement A pointant vers l'adresse IP publique du serveur cloud. Ajoutez des blocs d'hôtes virtuels dans le fichier de configuration Nginx, en spécifiant le port d'écoute, le nom de domaine et le répertoire racine du site Web. Redémarrez Nginx pour appliquer les modifications. Accéder à la configuration du test de nom de domaine. Autres notes: Installez le certificat SSL pour activer HTTPS, assurez-vous que le pare-feu autorise le trafic Port 80 et attendez que la résolution DNS prenne effet.

Comment construire un cluster de gardien de zoo dans les centos Comment construire un cluster de gardien de zoo dans les centos Apr 14, 2025 pm 02:09 PM

Le déploiement d'un cluster ZooKeeper sur un système CENTOS nécessite les étapes suivantes: L'environnement est prêt à installer l'environnement d'exécution Java: Utilisez la commande suivante pour installer le kit de développement Java 8: SudoyuminInStalljava-1.8.0-OpenJDK-Devel Télécharger Zookeeper: Téléchargez la version pour Centos (tel que Zookeeper3.8.x) du site officiel Apachezookeeper APACHEZOOKED. Utilisez la commande wget pour télécharger et remplacer ZooKeeper-3.8.x par le numéro de version réel: wgethttps: //downloads.apache.or

Comment démarrer le serveur Nginx Comment démarrer le serveur Nginx Apr 14, 2025 pm 12:27 PM

Le démarrage d'un serveur Nginx nécessite différentes étapes en fonction des différents systèmes d'exploitation: Système Linux / Unix: Installez le package NGINX (par exemple, en utilisant Apt-Get ou Yum). Utilisez SystemCTL pour démarrer un service NGINX (par exemple, sudo systemctl start nginx). Système Windows: téléchargez et installez les fichiers binaires Windows. Démarrer Nginx à l'aide de l'exécutable Nginx.exe (par exemple, nginx.exe -c conf \ nginx.conf). Peu importe le système d'exploitation que vous utilisez, vous pouvez accéder au serveur IP

Comment démarrer Nginx dans Linux Comment démarrer Nginx dans Linux Apr 14, 2025 pm 12:51 PM

Étapes pour démarrer Nginx dans Linux: Vérifiez si Nginx est installé. Utilisez SystemCTL Start Nginx pour démarrer le service NGINX. Utilisez SystemCTL Activer Nginx pour activer le démarrage automatique de Nginx au démarrage du système. Utilisez SystemCTL Status Nginx pour vérifier que le démarrage est réussi. Visitez http: // localhost dans un navigateur Web pour afficher la page de bienvenue par défaut.

Comment vérifier si Nginx est démarré? Comment vérifier si Nginx est démarré? Apr 14, 2025 pm 12:48 PM

Dans Linux, utilisez la commande suivante pour vérifier si Nginx est démarré: SystemCTL Status Nginx Juges Basé sur la sortie de la commande: si "Active: Active (Running)" s'affiche, Nginx est démarré. Si "Active: Inactive (Dead)" est affiché, Nginx est arrêté.

Comment configurer Nginx dans Windows Comment configurer Nginx dans Windows Apr 14, 2025 pm 12:57 PM

Comment configurer Nginx dans Windows? Installez Nginx et créez une configuration d'hôte virtuelle. Modifiez le fichier de configuration principale et incluez la configuration de l'hôte virtuel. Démarrer ou recharger nginx. Testez la configuration et affichez le site Web. Activer sélectivement SSL et configurer les certificats SSL. Définissez sélectivement le pare-feu pour permettre le trafic Port 80 et 443.

Comment résoudre la défaillance du système CentOS Comment résoudre la défaillance du système CentOS Apr 14, 2025 pm 01:57 PM

Il existe de nombreuses façons de résoudre les échecs du système CentOS. Voici quelques étapes et techniques courantes: 1. Vérifiez le fichier journal / var / log / messages: journal système, qui contient divers événements système. / var / log / sécurisé: journaux liés à la sécurité, tels que les tentatives de connexion SSH. / var / log / httpd / error_log: si vous utilisez le serveur Apache, il y aura un message d'erreur ici. 2. Utilisez l'outil de diagnostic DMESG: Affichez le contenu du tampon d'anneau de noyau, qui aide à comprendre les questions matérielles et pilotes

See all articles