Instalación de Docker
Si ha oído hablar de Docker, es posible que conozca su capacidad para ayudarlo a crear aplicaciones en un entorno sellado. Esto es útil, ya que elimina cualquier cambio que pueda ocurrir entre su máquina de desarrollo y su máquina de producción, como un servidor VPS de Hostwinds.
Cómo instalar Docker
Instale la ventana acoplable con este comando:
apt-get install docker
La tecnología de contenedores es beneficiosa para sellar un entorno, pero cuando necesita configurar cosas como SSL u otras aplicaciones, esto puede generar una complejidad adicional.
Instalación de Nginx
Nginx (pronunciado "Engine-ex") es un servidor web altamente configurable. Esto lo hace ideal para configurar lo que se llama un "proxy inverso", lo que simplemente significa que este servidor web aceptará las solicitudes y las reenviará a nuestros contenedores Docker. Agregue esto a su Hostwinds VPS con:
apt-get install nginx
Configuración de un contenedor Apache simple
Para esto, vamos a usar la imagen oficial de Apache en el centro de Docker. Su documentación se puede encontrar aquí.
Como menciona la documentación, necesitaremos crear un DockerFile.
Usando un editor de texto, como nano (nano apache. docker), escriba un archivo con estos contenidos:
FROM httpd:2.4
COPY ./index.html /usr/local/apache2/htdocs/
Ahora cree un archivo llamado index.html e insértelo en su contenido:
<h1> Hello World! </h1>
Es posible utilizar cualquier página estática o incluso un directorio en lugar del archivo de índice. Para simplificar, un solo archivo HTML está bien. Una vez que se escribe el archivo, ejecute estos comandos para crear el archivo docker.
docker build -t apache-demo
docker run -dit --name demo-web -p 8080:80 apache-demo
Visitar su servidor en [su dominio:8080] o [su IP]:8080 Debería resultar en ver esta página en su navegador web
Configurar Nginx como proxy inverso
Con el contenedor docker configurado para servir sus archivos, podemos configurar Nginx. De esta manera, en su mayoría podemos dejar la configuración del contenedor en paz y aislarla detrás de Nginx. Edite /etc/nginx/nginx.conf y agrega este código:
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;
}
}
Desde aquí, NGINX acepta todas las solicitudes públicas y el contenedor de Apache entrega sus archivos.