首页 文章

使用unix域套接字连接两台服务器

提问于
浏览
0

ThinUnicorn这样的Ruby Web服务器经常在Nginx后面使用(作为反向代理) . 此配置的优点是Nginx Server独立于Ruby版本,并且可以另外充当静态文件的代理 . 它们通常通过unix domain socket相互连接,因为它比TCP环回连接更快 . 问题是,如果你有一个由两部分组成的应用程序,比如前端和后端或客户端和服务器,是否可以通过unix域套接字 connect two Unicorn or two Thin servers ,如下所示:

nginx => thin (Frontend) --(unix domain socket)--> thin (backend)

1 回答

  • 1

    仅为代理到应用程序/应用程序到代理通信创建的应用程序服务器套接字 . 应用之间无法进行通信 .

    您应该创建前端应用程序以传达您的API(后端) . 您可以将nginx用于此目的 .

    只需在nginx配置中创建两个上游

    upstream frontend {
        server unix:/path/to/frontend/rails/app/tmp/thin.socket;
    }
    
    upstream backend {
        server unix:/path/to/backend/rails/app/tmp/thin.socket;
    }
    

    并在服务器部分使用它

    server { 
        location / {
            proxy_pass http://frontend;
        }
    
        location /api {
            proxy_pass http://backend;
        }
    }
    

    我希望它有所帮助

相关问题