Nginx 负载均衡(mac local)

2020-07-25  本文已影响0人  含泪若笑

今天在mac上面搭建了一下负载均衡,踩了点坑,记录一下。

我是打算起两个tomcat,然后利用Nginx实现他们的负载均衡。然后都是采用docker容器的方式。

启动tomcat的时候,发现访问ip+端口返回404,没有tomcat的首页,好奇怪,我估计是容器封装的事,后来我在webapps下面创建了文件以后就正常了。启动命令:docker run -d --name tomcata -v /Users/xxx/Documents/ccc/a/:/usr/local/tomcat/webapps  -p 9000:8080 tomcat

然后就是nginx的配置了,这里有一个坑是,配置tomcat ip的时候,不能写localhost或者127.0.0.1,我写了我电脑的ip,这个我不知道为啥,但我开始用localhost的时候,会报错,一个帖子里面说的,改了就好了。nginx主要需要配置这个几个:

upstream myserver {

        server ip:9000;

        server ip:9001;

    }

    server{

        listen 80;

        server_name 127.0.0.1;

        location / {

        proxy_set_header Host $http_host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_connect_timeout 30;

        proxy_send_timeout 60;

        proxy_read_timeout 60;

        proxy_pass http://myserver/;

        }

    }

启动命令是:docker run -d --name nginx_test -v /Users/XXX/Documents/ccc/nginx/:/aa -p 9002:80 nginx

无论是tomcat还是nginx我都做了映射,方便修改文件,对于nginx来说,有两个目录可以记一下:

nginx.conf放在/etc/nginx下面,但是我们不能直接映射这个目录。

重启nginx的文件的目录在/usr/nginx/sbin/下面,但修改了conf文件之后,重启docker也是一样的,因为我通过docker exec -it nginx_test /bin/bash这个命令进入docker以后,run了service nginx stop 发现docker容器也死了。docker这个还在学习中,现在还说不清楚原理,先记录一下现象吧。

最后  我访问http://127.0.0.1:9002/aa/a.html 就看到了tomcat下面的界面了,两个随机切换。

上一篇 下一篇

猜你喜欢

热点阅读