Instalace Dockeru
Pokud jste slyšeli o Dockeru, možná víte o jeho schopnosti pomoci vám vytvářet aplikace v uzavřeném prostředí. To je užitečné, protože to eliminuje jakékoli změny, které mohou nastat mezi vaším vývojářským strojem a vaším produkčním strojem, jako je VPS server od Hostwinds.
Jak nainstalovat Docker
Nainstalujte docker pomocí tohoto příkazu:
apt-get install docker
Technologie kontejnerů je prospěšná při utěsnění prostředí, ale když potřebujete nakonfigurovat věci, jako je SSL nebo jiné aplikace, může to přinést další složitost.
Instalace Nginx
Nginx (vyslovuje se „Engine-ex“) je vysoce konfigurovatelný webový server. Díky tomu je skvělý pro věci, které nastavují to, čemu se říká „reverzní proxy“, což jednoduše znamená, že tento webový server bude přijímat požadavky a přeposílat je do našich kontejnerů Docker. Přidejte to do svého Hostwinds VPS pomocí:
apt-get install nginx
Nastavení jednoduchého kontejneru Apache
K tomu použijeme oficiální obraz Apache na centru Docker. Jeho dokumentaci naleznete zde.
Jak se zmiňuje dokumentace, budeme muset vytvořit DockerFile.
Pomocí textového editoru, jako je nano (nano apache. docker), napište soubor s tímto obsahem:
FROM httpd:2.4
COPY ./index.html /usr/local/apache2/htdocs/
Nyní vytvořte soubor s názvem index.html a vložte jej do jeho obsahu:
<h1> Hello World! </h1>
Místo indexového souboru je možné použít libovolnou statickou stránku nebo dokonce adresář. Pro jednoduchost stačí jeden HTML soubor. Jakmile je soubor zapsán, spusťte tyto příkazy a vytvořte soubor dockeru.
docker build -t apache-demo
docker run -dit --name demo-web -p 8080:80 apache-demo
Návštěva vašeho serveru na [vaše doména:8080] nebo [vaše IP]:8080 by měla vést k zobrazení této stránky ve vašem webovém prohlížeči
Konfigurace Nginx jako reverzního proxy
S kontejnerem docker nastaveným tak, aby obsluhoval vaše soubory, můžeme nastavit Nginx. Tímto způsobem můžeme většinou ponechat konfiguraci kontejneru na pokoji a odložit jej za Nginx. Upravte /etc/nginx/nginx.conf a přidejte tento kód:
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;
}
}
Odtud NGINX přijímá všechny veřejné požadavky a kontejner Apache obsluhuje vaše soubory.