Installer Docker
Si vous avez entendu parler de Docker, vous connaissez peut-être sa capacité à vous aider à créer des applications dans un environnement scellé. Ceci est utile, car cela élimine tout changement pouvant survenir entre votre machine de développement et votre machine de production, comme un serveur VPS de Hostwinds.
Comment installer Docker
Installez Docker à l'aide de cette commande :
apt-get install docker
La technologie des conteneurs est bénéfique pour sceller un environnement, mais lorsque vous devez configurer des éléments tels que SSL ou d'autres applications, cela peut introduire une complexité supplémentaire.
Installer Nginx
Nginx (prononcé "Engine-ex") est un serveur Web hautement configurable. Cela le rend idéal pour la configuration de ce qu'on appelle un "proxy inverse", ce qui signifie simplement que ce serveur Web recevra les demandes et les transmettra à nos conteneurs Docker. Ajoutez ceci dans votre VPS Hostwinds avec :
apt-get install nginx
Configurer un conteneur Apache simple
Pour cela, nous allons utiliser l'image Apache officielle sur le hub Docker. Sa documentation peut être trouvée ici.
Comme le mentionne la documentation, nous devrons créer un DockerFile.
À l'aide d'un éditeur de texte, tel que nano (nano apache. docker), écrivez un fichier avec ce contenu :
FROM httpd:2.4
COPY ./index.html /usr/local/apache2/htdocs/
Créez maintenant un fichier appelé index.html et insérez-le dans son contenu :
<h1> Hello World! </h1>
Il est possible d'utiliser n'importe quelle page statique ou même un répertoire à la place du fichier d'index. Pour plus de simplicité, un seul fichier HTML convient. Une fois le fichier écrit, exécutez ces commandes pour créer le fichier docker.
docker build -t apache-demo
docker run -dit --name demo-web -p 8080:80 apache-demo
La visite de votre serveur sur [votredomaine :8080] ou [votre IP] :8080 devrait entraîner l'affichage de cette page dans votre navigateur Web
Configurer Nginx en tant que proxy inverse
Avec le conteneur Docker configuré pour servir vos fichiers, nous pouvons configurer Nginx. De cette façon, nous pouvons principalement laisser la configuration du conteneur seule et la isoler derrière Nginx. Modifier /etc/nginx/nginx.conf et ajoutez ce code :
server {
server_name [YOUR.DOMAIN.NAME];
listen 80;
location / {
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_pass http://127.0.0.1:8080;
}
}
À partir de là, NGINX prend en charge toutes les requêtes publiques et le conteneur Apache sert vos fichiers.