Docker chenyufeng/nginx-centos鏡像實現負載平衡
來源:互聯網
上載者:User
在之前的一篇部落格中我們實現了使用Docker的官方nginx鏡像來實現負載平衡,使用起來並不是很方便,這裡使用我自己的鏡像:chenyufeng/nginx-centos來實現負載平衡。使用chenyufeng/nginx-centos鏡像更符合在Linux上對nginx的配置,將會更加方便。
/usr/local/nginx/conf/nginx.conf配置如下:
#user nobody; worker_processes 1;
#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;
#pid logs/nginx.pid;
events { worker_connections 1024; }
http { include mime.types; default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on; #tcp_nopush on;
#keepalive_timeout 0; keepalive_timeout 65;
#gzip on;
# 關鍵步驟 upstream backend { server 192.168.0.101:8080; server 192.168.0.101:8081; }
server { listen 80; server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / { # 關鍵步驟 proxy_pass http://backend; }
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }
# proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #}
# deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
# another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias;
# location / { # root html; # index index.html index.htm; # } #}
# HTTPS server # #server { # listen 443 ssl; # server_name localhost;
# ssl_certificate cert.pem; # ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on;
# location / { # root html; # index index.html index.htm; # } #}
} daemon off;
操作步驟: 啟動容器
docker run --name web-ng -d -p 22:22 -p 80:80 -p 443:443 chenyufeng/nginx-centos
進入容器修改配置 設定檔位置:/usr/local/nginx/conf/nginx.conf
docker exec -it web-ng /bin/bash
修改配置完成後重啟重啟即可
docker restart web-ng
直接在瀏覽器中即可實現負載平衡 http://localhost/col/docs/index.html
任意一個介面的調用都會進行負載平衡。