如何使用nginx或apache处理tcp入站流量并重定向到特定的php处理器?

时间:2012-05-30 08:53:48

标签: tcp nginx

这是主要的想法,我想使用NGINX或Apache webservers作为tcp处理器,因此他们管理所有线程和连接以及客户端套接字,从端口接收的所有数据包,比如说,端口9000将被重定向到在php或python上编写的程序,该程序将处理每个请求,将数据存储在数据库中。最大的问题是该程序需要将数据发送到当前连接到NGINX或Apache服务器的客户端或套接字,我被告知我应该做这样的事情而不是创建我自己的TCP服务器,这是由于与大负载的套接字通信可能导致内存故障甚至可能导致服务器崩溃,因此太难以维护并且很难维护。我以前做过,实际上服务器崩溃了。 任何想法如何实现这一点? 感谢。

2 个答案:

答案 0 :(得分:0)

apache / nginx是Web服务器,可用于向您的cusomter提供静态内容服务,并将应用程序服务请求转发给其他应用程序服务器。

我只知道django,这里是来自Configuration for Django, Apache and Nginx的nginx的示例配置

location / {
       # proxy / requests to apache running django on port 8081
       proxy_pass         http://127.0.0.1:8081/;
       proxy_redirect     off;
}
location /media/ { 
    # serve static media directly from nginx
    root   /srv/anuva_project/www/;
    expires 30d;
    break;
}

基于此配置,nginx在/ media / *下访问url的本地静态数据 并将请求转发到位于localhost端口8018的django服务器。

答案 1 :(得分:0)

我感觉HAProxy肯定是一种更适合您需求的工具,这显然与TCP而不是HTTP有关。你至少应该尝试一下。