bash <(curl -s http://repository.sandbox.infoboxcloud.ru/scripts/docker/centos7/install.sh)
yum install -y git
git clone https://github.com/InfoboxHosting/DockerNginxSimpleStaticSite.git
cd DockerNginxSimpleStaticSite/
docker-compose build
docker-compose up -d
docker ps
You can see the site in the list of containers. user www-data; worker_processes 1; pid /run/nginx.pid; events { worker_connections 4086; use epoll; multi_accept on; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; keepalive_requests 1000; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; gzip on; gzip_min_length 10240; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml; gzip_disable "msie6"; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; server { listen 80; server_name domain.tld www.domain.tld; location / { root /usr/share/nginx/html; } } }
FROM nginx MAINTAINER Yuri Trukhin "trukhinyuri@infoboxcloud.com" COPY conf/nginx.conf /etc/nginx/nginx.conf COPY html/ /usr/share/nginx/html
sitename: build: . ports: - 80:80 restart: always
docker-compose build
docker-compose up -d
docker ps
docker stop bc88ee61a933
docker rm bc88ee61a933
cd ~
git clone https://github.com/InfoboxHosting/DockerNginxSimpleBalancer.git
cd ~/DockerNginxSimpleBalancer/balancer
docker-compose build
docker-compose up -d
user www-data; worker_processes 1; pid /run/nginx.pid; events { worker_connections 4086; use epoll; multi_accept on; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; keepalive_requests 1000; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; gzip on; gzip_min_length 10240; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml; gzip_disable "msie6"; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; server { listen 80; server_name domain1.com www.domain1.com; 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://frontend1:80; } } server { listen 80; server_name domain2.com www.domain2.com; 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://frontend2:80; } } }
cd ~/DockerNginxSimpleBalancer/balancer
docker-compose build
docker-compose up -d
yum install -y git
git clone https://github.com/InfoboxHosting/DockerNginxGeoRedundantBalancer.git
bash ~/DockerNginxGeoRedundantBalancer/rename.sh domain.com domain1.com domain2.com
user www-data; worker_processes 1; pid /run/nginx.pid; events { worker_connections 4086; use epoll; multi_accept on; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; keepalive_requests 1000; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; gzip on; gzip_min_length 10240; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml; gzip_disable "msie6"; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; upstream frontend1 { #!!!replace domain.com #!!!remove backup word in your location server spb.domain.com:8000 backup; server msk.domain.com:8000 backup; server ams.domain.com:8000 backup; } upstream frontend2 { #!!!replace domain.com #!!!remove backup word in your location server spb.domain.com:8001 backup; server msk.domain.com:8001 backup; server ams.domain.com:8001 backup; } server { listen 80; #!!!replace domain1.com server_name domain1.com www.domain1.com; 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://frontend1; } } server { listen 80; #!!!replace domain2.com server_name domain2.com www.domain2.com; 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://frontend2; } } }
user www-data; worker_processes 1; pid /run/nginx.pid; events { worker_connections 4086; use epoll; multi_accept on; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; keepalive_requests 1000; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; gzip on; gzip_min_length 10240; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml; gzip_disable "msie6"; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; upstream frontend1 { #!!!replace domain.com server spb.plugndo.com:8000 backup; server msk.plugndo.com:8000 backup; server ams.plugndo.com:8000; } upstream frontend2 { #!!!replace domain.com server spb.plugndo.com:8001 backup; server msk.plugndo.com:8001 backup; server ams.plugndo.com:8001; } server { listen 80; #!!!replace domain1.com server_name site1.plugndo.com www.site1.plugndo.com; 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://frontend1; } } server { listen 80; #!!!replace domain1.com server_name site2.plugndo.com www.site2.plugndo.com; 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://frontend2; } } }
user www-data; worker_processes 1; pid /run/nginx.pid; events { worker_connections 4086; use epoll; multi_accept on; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; keepalive_requests 1000; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; gzip on; gzip_min_length 10240; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml; gzip_disable "msie6"; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; upstream frontend1 { #!!!replace domain.com server spb.plugndo.com:8000; server msk.plugndo.com:8000 backup; server ams.plugndo.com:8000 backup; } upstream frontend2 { #!!!replace domain.com server spb.plugndo.com:8001; server msk.plugndo.com:8001 backup; server ams.plugndo.com:8001 backup; } server { listen 80; #!!!replace domain1.com server_name site1.plugndo.com www.site1.plugndo.com; 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://frontend1; } } server { listen 80; #!!!replace domain1.com server_name site2.plugndo.com www.site2.plugndo.com; 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://frontend2; } } }
user www-data; worker_processes 1; pid /run/nginx.pid; events { worker_connections 4086; use epoll; multi_accept on; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; keepalive_requests 1000; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; gzip on; gzip_min_length 10240; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml; gzip_disable "msie6"; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; upstream frontend1 { #!!!replace domain.com server spb.plugndo.com:8000 backup; server msk.plugndo.com:8000; server ams.plugndo.com:8000 backup; } upstream frontend2 { #!!!replace domain.com server spb.plugndo.com:8001 backup; server msk.plugndo.com:8001; server ams.plugndo.com:8001 backup; } server { listen 80; #!!!replace domain1.com server_name site1.plugndo.com www.site1.plugndo.com; 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://frontend1; } } server { listen 80; #!!!replace domain1.com server_name site2.plugndo.com www.site2.plugndo.com; 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://frontend2; } } }
cd DockerNginxGeoRedundantBalancer/balancerMSK/
cd DockerNginxGeoRedundantBalancer/balancerAMS/
cd DockerNginxGeoRedundantBalancer/balancerSPB/
docker-compose build
docker-compose up -d
Source: https://habr.com/ru/post/265231/
All Articles