1.概要
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器。正向代理(VPN)和反向代理的区别在于,VPN代理的是客户端,而nginx代理的是服务端。DAG图(有向无环图)如下:
2.docker
从官网拉取nginx镜像
docker search nginx
docker pull nginx
docker images
红框处代表nginx镜像已经安装成功
运行nginx镜像
docker run -d --name nginx-6542 -p 6542:80 nginx:latest
将nginx.conf文件拷贝到宿主机器
docker cp [id]:/etc/nginx/nginx.conf d:/nginx/nginx.conf
修改本机的nginx.conf文件
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/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 /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
upstream tomcat_nginx{
server 10.10.11.37:6543 weight=5;
server 10.10.11.37:6544 weight=5;
server 10.10.11.37:6545 weight=5;
}
server {
listen 80;
server_name 10.10.11.37;
location /{
proxy_pass http://tomcat_nginx;
}
}
}
启动三个tomcat服务器
docker run -d -it -v d:/xxx.war:/usr/local/tomcat/webapps/xxx.war -p 6543:8080 tomcat:latest
docker run -d -it -v d:/xxx.war:/usr/local/tomcat/webapps/xxx.war -p 6544:8080 tomcat:latest
docker run -d -it -v d:/xxx.war:/usr/local/tomcat/webapps/xxx.war -p 6545:8080 tomcat:latest
删除之前的nginx实例
docker stop [id]
docker rm [id]
将编辑过的nginx文件挂载到容器
docker run -d --name nginx-6542 -v d:/nginx/nginx.conf:/etc/nginx/nginx.conf -p 6542:80 nginx:latest
打开浏览器输入:10.10.11.37:6542验证是否成功
验证负载均衡算法
成功。