Maison > Article > développement back-end > Sur quels serveurs PHP peut-il être déployé ?
php peut être déployé sur 2 types de serveurs Web : 1. Apache, qui est un serveur Web open source d'Apache Software Foundation. Il peut fonctionner sur la plupart des systèmes d'exploitation informatiques et est largement utilisé en raison de sa multiplateforme et de sa sécurité. 2. nginx est un serveur Web HTTP et proxy inverse hautes performances, et fournit également des services « IMAP/POP3/SMTP ».
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3
Il existe généralement deux serveurs web couramment utilisés pour php :
apache
nginx
LAMP (linux + apache + mysql + php) et LNMP (linux + ngnix + mysql + php) sont actuellement les architectures d'environnement PHP les plus couramment utilisées sur les serveurs.
Apache Server
Apache HTTP Server (Apache en abrégé) est un serveur Web open source d'Apache Software Foundation, qui peut fonctionner sur la plupart des systèmes d'exploitation informatiques et est largement utilisé en raison de sa multiplateforme et de sa sécurité. , est l'un des logiciels côté serveur Web les plus populaires. Il est rapide, fiable et extensible grâce à une simple API pour compiler des interpréteurs tels que Perl/Python dans le serveur.
Apache est un serveur Web multiplateforme open source populaire, et c'est également le serveur Web le plus populaire existant.
Le serveur HTTP Apache est un serveur modulaire, dérivé du serveur NCSAhttpd. Après de nombreuses modifications, il est devenu le logiciel de serveur Web numéro un au monde.
Il peut fonctionner sur presque toutes les plates-formes informatiques largement utilisées.
Apache est né du serveur NCSAhttpd Après de nombreuses modifications, il est devenu l'un des logiciels de serveur Web les plus populaires au monde. Apache vient de la prononciation de « un serveur patché », qui signifie un serveur rempli de correctifs. Parce qu'il s'agit d'un logiciel libre, les gens développent constamment de nouvelles fonctions et fonctionnalités et modifient les défauts d'origine. Apache se caractérise par sa simplicité, sa vitesse rapide, ses performances stables et peut être utilisé comme serveur proxy.
À l'origine, il n'était utilisé que pour des réseaux Internet petits ou expérimentaux, puis progressivement étendu à divers systèmes Unix, en particulier la prise en charge de Linux est tout à fait parfaite. Apache propose une variété de produits pouvant prendre en charge la technologie SSL et plusieurs hôtes virtuels. Apache est une structure basée sur des processus. Les processus consomment plus de ressources système que les threads et ne conviennent pas aux environnements multiprocesseurs. Par conséquent, lors de l'extension d'un site Web Apache, il est généralement nécessaire d'ajouter des serveurs ou d'étendre les nœuds de cluster au lieu d'augmenter le processeur. Jusqu'à présent, Apache reste le serveur Web le plus utilisé au monde, avec une part de marché d'environ 60 %. De nombreux sites Web célèbres dans le monde tels qu'Amazon, Yahoo !, W3 Consortium, Financial Times, etc. sont des produits d'Apache. Son succès réside principalement dans son code open source, une équipe de développement ouverte et la prise en charge des applications multiplateformes (It). peut fonctionner sur presque toutes les plates-formes système Unix, Windows et Linux) et sa portabilité.
La naissance d'Apache est extrêmement dramatique. Lorsque le projet de serveur NCSAWWW a pris fin, les utilisateurs du serveur NCSAWWW ont commencé à échanger des correctifs pour le serveur et ont rapidement reconnu la nécessité d'un forum pour gérer ces correctifs. C'est ainsi qu'est né le groupe Apache, qui a ensuite créé Apache basé sur NCSA.
Le logiciel de serveur Web Apache présente les fonctionnalités suivantes :
1. Prend en charge le dernier protocole de communication HTTP/1.1.
2. Possède un processus de configuration simple et puissant basé sur des fichiers.
3. . Prise en charge des hôtes virtuels basés sur IP et sur nom de domaine
5. Prise en charge de plusieurs méthodes d'authentification HTTP
6. Intégration du module de traitement Perl
7. Prise en charge de la surveillance en temps réel de l'état du serveur. et les journaux de serveur personnalisés
9. Prise en charge des instructions d'inclusion côté serveur (SSI)
10. Prise en charge de Secure Socket Layer (SSL)
11. Prise en charge des processus de session utilisateur
12. via des modules tiers
Si vous êtes prêt à choisir un serveur Web, il ne fait aucun doute qu'Apache est votre meilleur choix.
nginx server
Nginx (engine x) est un serveur Web HTTP et proxy inverse hautes performances, et fournit également des services IMAP/POP3/SMTP. Nginx a été développé par Igor Sesoev pour le site Rambler.ru (russe : Рамблер), le deuxième site le plus visité en Russie. La version publique 1.19.6 est sortie le 15 décembre 2020. Il publie le code source sous une licence de type BSD et est connu pour sa stabilité, son riche ensemble de fonctionnalités, ses fichiers de configuration simples et sa faible consommation de ressources système. Le 25 janvier 2022, nginx 1.21.6 est sorti. Nginx est un serveur Web/proxy inverse léger et un serveur proxy de messagerie (IMAP/POP3), publié sous le protocole de type BSD. Ses caractéristiques sont qu'il occupe moins de mémoire et possède de fortes capacités de concurrence. En fait, les capacités de concurrence de nginx fonctionnent mieux entre les serveurs Web du même type.
Nginx peut être compilé et exécuté sur la plupart des systèmes d'exploitation Unix Linux, et il existe une version portée Windows. La version stable 1.20.0 de Nginx a été publiée le 20 avril 2021. Dans des circonstances normales, pour les nouveaux sites, il est recommandé d'utiliser la dernière version stable comme version de production. L'urgence de mettre à niveau les sites existants n'est pas élevée. Le code source de Nginx utilise une licence de type BSD à 2 clauses.
Nginx est un service web et proxy inverse très puissant et performant. Il possède de nombreuses fonctionnalités très supérieures :
Dans le cas d'une forte concurrence de connexions, Nginx est un bon substitut au service Apache : Nginx est un service de virtualisation en aux États-Unis L'une des plates-formes logicielles souvent choisies par les propriétaires d'entreprises d'hébergement. Capable de prendre en charge des réponses allant jusqu'à 50 000 connexions simultanées. Merci à Nginx d'avoir choisi epoll et kqueue comme modèle de développement.
Quelle est la différence entre Apache et nginx :
1. La principale différence entre les deux est qu'Apache est un modèle multi-processus synchrone et qu'une connexion correspond à un processus nginx est asynchrone et multiple ; les connexions peuvent correspondre à un processus. nginx gère bien les fichiers statiques et consomme moins de mémoire. Mais il ne fait aucun doute qu'Apache reste le courant dominant actuel et possède de nombreuses fonctionnalités riches, il doit donc encore être égalé. Bien sûr, s’il est déterminé que nginx répond aux besoins, alors utiliser nginx sera un moyen plus économique.
2. La capacité de chargement de nginx est bien supérieure à celle d'Apache. Le dernier serveur utilise également nginx. Et après avoir modifié la configuration de nginx, vous ne pouvez pas tester s'il y a un problème avec la configuration.
3. Lorsque Apache est redémarré et qu'il s'avère que la configuration est incorrecte, il plantera. Je serai très prudent lorsque j'apporterai des modifications. Maintenant, je vois qu'il existe de nombreux sites de cluster, l'anti-concurrence nginx frontale, et le cluster Apache back-end, la coopération est également bonne.
4. Il est inutile que nginx gère les requêtes dynamiques. Généralement, Apache est nécessaire pour gérer les requêtes dynamiques, et nginx ne convient qu'aux requêtes statiques et inversées.
5. Par expérience, nginx est un très bon serveur frontal avec de bonnes performances de chargement. Avec nginx, il est facile d'utiliser webbench pour simuler 10 000 requêtes de fichiers statiques. Apache a un bon support pour les langages tels que PHP. De plus, Apache dispose d'un réseau de support solide. Il a été développé plus longtemps que nginx et présente moins de bugs. Cependant, Apache a l'inconvénient de ne pas prendre en charge les charges de traitement multicœurs. . Il est recommandé d'utiliser nginx pour le front-end et le back-end. Pour les grands sites Web, il est recommandé d'utiliser la fonction cluster de nginx.
6. Dans la plupart des cas, nginx est meilleur qu'APACHE, comme le traitement des fichiers statiques, la prise en charge de PHP-CGI, la fonction de proxy inverse, le cache frontal, la maintenance de la connexion, etc. En mode Apache+PHP (prefork), si le traitement PHP est lent ou si la pression frontale est élevée, il est facile que le nombre de processus Apache augmente, entraînant un déni de service.
7. Apache présente des avantages en termes de dynamique de traitement. Nginx a une meilleure concurrence et une faible utilisation de la mémoire CPU. Si la réécriture est fréquente, alors Apache est le meilleur !
8. De manière générale, pour les services web qui nécessitent des performances, utilisez nginx. Si vous n'avez pas besoin de performances et souhaitez simplement de la stabilité, utilisez Apache.
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!