Cela est tout à fait possible et une pratique courante pour gérer plusieurs applications Web sur un seul serveur utilisant Nginx. La puissance de Nginx réside dans sa flexibilité pour agir comme un proxy inverse et un équilibreur de charge, achetant efficacement le trafic en fonction de divers critères, y compris le numéro de port. Au lieu d'exécuter plusieurs instances Nginx, qui seraient moins efficaces, vous tirez parti de la capacité de Nginx à écouter sur plusieurs ports simultanément et directement des demandes de manière appropriée à différentes applications backend (vos projets). Chaque projet peut ensuite résider dans son propre répertoire, en maintenant une séparation propre des préoccupations. Cette configuration évite les conflits de port en attribuant un port unique pour chaque projet.
Configuration de Nginx pour servir plusieurs projets à partir de différents ports impliquent la création de blocs de serveur séparés dans votre fichier de configuration Nginx). Chaque bloc de serveur définit un serveur virtuel, écoutant sur un port spécifique et dirigeant le trafic vers le projet correspondant. nginx.conf
sites-available
Voici un exemple de configuration pour deux projets, "projecta" et "projectB", écoutant respectivement les ports 8080 et 8081:
N'oubliez pas de remplacer
server { listen 8080; server_name projectA.example.com; # Or an IP address if not using domain names root /var/www/projectA; # Path to projectA's root directory index index.html; location / { try_files $uri $uri/ /index.html; } } server { listen 8081; server_name projectB.example.com; # Or an IP address root /var/www/projectB; # Path to projectB's root directory index index.php; location / { try_files $uri $uri/ /index.php; } }
avec les chemins réels des directives racines. Assurez-vous également que les applications backend (par exemple, les serveurs Apache, Python, Node.js) s'exécutent et écoutent sur les ports appropriés (par exemple, port 80 ou un autre port si nécessaire) dans ces répertoires. Après avoir apporté ces modifications, testez la configuration à l'aide de /var/www/projectA
et de rechargement nginx en utilisant /var/www/projectB
pour appliquer les modifications sans service d'interruption. nginx -t
nginx -s reload
Quelles sont les meilleures pratiques pour gérer plusieurs configurations Nginx pour différents projets sur le même serveur?
sites-available
et sites-enabled
(communs dans de nombreuses distributions Linux). Créez des fichiers de configuration dans sites-available
, puis créez des liens symboliques vers eux dans sites-enabled
pour les activer. Cela permet une gestion et un contrôle de version plus faciles. include
. Cela améliore la lisibilité et la maintenabilité. , et les blocs de localisation). Cette approche est beaucoup plus efficace et adaptée aux ressources que d'exécuter des instances Nginx distinctes pour chaque projet. Il centralise la gestion et simplifie la surveillance. server
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!