-
Notifications
You must be signed in to change notification settings - Fork 0
Analyse service Web
MagnesSimon edited this page May 25, 2021
·
11 revisions
L'entreprise à besoin de serveur web permettant l'hébergement des trois sites internet pré-existant. Nous avons:
- Un site vitrine public static présentant les produits (HTML/CSS).
- Un site de vente en ligne et dynamique qui sera réservé aux revendeurs (PHP/MySQL).
Ils auront aussi besoin d'un serveur contenant la base de données qui devra être mise en place avec MySQL à la demande du client.
- Nginx: Selon Wikipedia, le logiciel Nginx est un serveur http ainsi qu'un proxy reverse développé par Nginx Inc et Igor Sysoev l'un des créateur. Son développement a commencé en 2002 pour un site russe à fort trafic, ce qui expliquerait son besoin prioritaire de performance. La première version est apparu en 2004 et il est devenu le serveur Web le plus utilisé en 2019.
- Apache: Selon Wikipedia, Le logiciel apache est un serveur HTTP créé par Apache Software Foundation et maintenu au sein de la fondation Apache. Il existe depuis 1995 et jusqu'en 2019, fut le plus populaire du Worl Wide Web.
- Architecture: Apache possède une structure basé sur une approche multithread. Pour chaque requête, apache créé un nouveau thread ce qui peut amener à une consommation conséquente de ressources, cela pouvant mener à des ralentissements ou encore des bugs. Nginx possède une architecture plus légère et rapide parce qu'il se base sur le principe d'évènement, ce qui veut dire qui traitera plusieurs requêtes dans un seul thread.
- Contenu statique: Bien que les deux technologie sont capables de faire tourner du contenu statique, il a été prouvé que Nginx est 2 à 2.5 fois plus rapide que Apache et consomme moins de mémoire.
- Contenu dynamique: Si un traitement de contenu dynamique est nécessaire, Apache possède les outils de base permettant de le faire alors que Nginx lui est obliger de passer par un processeur externe. En terme de performance, les deux sont équivalent.
- Le support du système d'exploitation: Le deux supportes les systèmes UNIX mais seul Apache prend totalement en charge Windows la où Nginx le supporte mal.
- Configuration: Nginx ne permet pas de configuration additionnelle et peut donc servir les fichiers plus vite qu'Apache. Ce dernier lui permets des configurations additionnelles sur la base de répertoire via un fichier .htaccess .
- Interprétation des requêtes: Nginx passe par URI pour interpréter les requêtes ce qui le rend plus rapide et donc meilleur que Apache qui lui traite les requêtes comme des File System Location.
Nous avons choisi de travailler avec Apache. Il est vrai que Nginx est plus performant au niveau du fonctionnement mais est moins polyvalent que ce soit dans sa mise en place ou dans sa configuration. De plus Apache est connu pour sa facilité d'utilisation et a l'avantage d'exister depuis plus longtemps ce qui nous permet d'avoir une grande quantité de ressources pour nous aider dans la mise en place de ce service web.
- Créer un Dockerfile dans le répertoire web
- Installer les différents service avec le Dockerfile (apache2, php, php-mysql)
- Créer les fichers de configurations, les éditer pour que la configuration convienne aux besoins
- Créer une page HTML pour le www et intranet, Créer une page php pour le b2b.
- Connecter la page php à la base de données avec l'ip du container base de données, le user, mot de pase et nom de la base de données.
- Configurer le "virtualhost" sur le port 80 avec le serveur name et le "documentRoot" de la page HTML ou php.
- Ajouter ces fichier de configuration dans le répertoire "site-available"
- faire le lien entre "site-available" et "site enable"
- Arriver sur la page "www" par défaut si on ne présice pas "b2b" ou "www".
- Lancer le container docker