美文网首页
nginx反向代理swoole(laravels)

nginx反向代理swoole(laravels)

作者: dark68 | 来源:发表于2021-05-13 08:31 被阅读0次

    laravels的安装详见https://www.jianshu.com/p/d50aba3dd458

    1 什么是反向代理

    反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
    反向代理和正向代理的区别就是:正向代理代理客户端,反向代理代理服务器。
    nginx.conf配置

    # 定义一个上游服务器组
    upstream swoole {
       server 172.17.0.3:5200 weight=5 max_fails=3 fail_timeout=30s;
       keepalive 16;
    }
    
    server {
        listen       80;
        listen  [::]:80;
        server_name  localhost;
        root /docker/www/lmrs-2008/public;
        index index.php index.html;
    
        location / {
            try_files $uri @laravels;
        }
    
        location @laravels {
            proxy_http_version 1.1;
            proxy_set_header Connection "";
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Real-PORT $remote_port;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header Scheme $scheme;
            proxy_set_header Server-Protocol $server_protocol;
            proxy_set_header Server-Name $server_name;
            proxy_set_header Server-Addr $server_addr;
            proxy_set_header Server-Port $server_port;
            proxy_pass http://swoole;
        }
    
        location /api {
            proxy_http_version 1.1;
            proxy_set_header Connection "";
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Real-PORT $remote_port;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header Scheme $scheme;
            proxy_set_header Server-Protocol $server_protocol;
            proxy_set_header Server-Name $server_name;
            proxy_set_header Server-Addr $server_addr;
            proxy_set_header Server-Port $server_port;
            proxy_pass http://swoole;
        }
    
    }
    

    ab压测(可以在准备一份nginx环境的代码进行对比)
    nginx环境下的测试:


    nginx环境下

    swoole环境下的测试:


    swoole环境下

    相关文章

      网友评论

          本文标题:nginx反向代理swoole(laravels)

          本文链接:https://www.haomeiwen.com/subject/ciszdltx.html