微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

长轮询选项:Nginx,PHP,Node.js

我正在设计一个长轮询应用程序,可以非常快速地向很多用户广播小的变化.该应用程序将与运行相当标准的cms的网站串联运行.它们都将在一台服务器上运行,并且数据库也是如此.

我非常喜欢LAMP环境,我绝对是开发人员而不是系统管理员.那说我不怕尝试一些新东西.

我花了一天时间研究我的选择,我希望人们可以回答一些问题并给我一些建议.

我把它缩小到这些:

    A. Apache and PHP for the website,Node.js for the app
    B. Nginx and PHP for both the website and app
    C. Nginx and PHP for website,Nginx and Node.js for the app

所以问题:

> Nginx如何处理PHP的非多线程;). PHP是否会成为Apache长期轮询的瓶颈?
>我听说它建议我在Apache和Node.js之前使用Nginx作为反向代理,这是一个Nginx更好的解决方案吗?如果是这样,为什么?
>您使用/推荐哪个选项?

请记住,设置的简易性可能是一个因素,我对Apache非常熟悉,但我只使用Node,而且我从未安装过Nginx.

如果有人需要,我会很乐意提供澄清.

最佳答案
我会使用选项C:并建议选项D:

选项D:

>使用HAProxy进行Keepalived以实现负载均衡(LB)
> Nginx用于静态和PHP脚本,使用PHP-FPM,APC和Redis进行缓存
> Node.js(和其他节点模块)用于动态实时内容

我们目前使用选项D的前两部分,来自LAMP背景,目前正在实施Node.js来为我们的一些(系统征税)实时应用程序提供服务. HAProxy正是如此:将流量代理到我的所有后端服务器,而不是让Nginx执行它.原因是,我们有许多后端HTTP / TCP /其他服务器,我们需要对这些服务器进行冗余和自动故障转移. LB易于实现并且运行良好.

到目前为止,效果很好.就个人而言,由于缺乏文档,节点学习曲线到目前为止一直很困难,但那里有一个非常有活力的社区.

希望这可以帮助.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


###进入nginx 目录cd /usr/local/nginx###递归显示 2 级目录tree -L 2 ./一、conf 目录conf 目录:存放nginx 配置文件的目录fastcgi.conf:存放fastcgi 相关的配置 fastcgi.conf.default:fastcgi.conf 的原始备份文件,用于还原 fastcgi_params:fastcgi 相关参数文件 fastcgi_params.default:fastcgi_params 的原始...
在cmd命令窗口输入下面命令进行查看 tasklist /fi "imagename eq nginx.exe"
Nginx显示500错误原因和解决方法
linux系统下启停nginx的命令
nginx 的 default_server 指令可以定义默认的 server出处理一些没有成功匹配 server_name 的请求1.显示定义2.指定Server_name3.隐式定义这三种方式都可禁止 ip 直接访问且 1,3同时可以禁止未绑定域名的访问(比如泛解析了主域名)。如果没有显式定义,则会选取第一个定义的 server 作为 default_server。http {# 显示的定义一个 default serverserver {}}
Nginx是一款轻量级的 Web 服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。
一、 什么是负载均衡?什么是负载均衡?记得第一次接触 Nginx 是在实验室,那时候在服务器部署网站需要用 Nginx 。Nginx 是一个服务组件,用来反向代理、负载平衡和 HTTP 缓存等。那么这里的 负载均衡 是什么?负载均衡(LB,Load Balance),是一种技术解决方案。用来在多个资源(一般是服务器)中分配负载,达到最优化资源使用,避免过载。资源,相当于每个服务实例的执行操作单元,负载均衡就是将大量的数据处理操作分摊到多个操作单元进行执行,用来解决互联网分布式系统..
Nginx 的 HttpUpstreamModule 提供对后端(backend)服务器的简单负载均衡。一个最简单的 upstream 写法如下:upstream backend { server backend1.example.com; server backend2.example.com; server.backend3.example.com;}ser...
一、alias location   /view {       alias /opt/view;        index  index.html index.htm;       access_log on;       expires 30d;  }  alias 是目录别名的意思,指的是绝对路径。因此按照以上配置的话,如果请求路径是 /view/hello.html,...
现在假设有三台主机,他们的ip分别为:A: 192.168.1.167B: 192.168.1.168C: 192.168.1.169nginx作为代理服务器部署在主机 A 上面,B 和 C 作为两台应用服务器。现在想实现通过A访问B和C,有以下两种方式:一、通过不同的listen实现对B和C的访问,实现方式如下:在nginx.conf中添加两个serverserver {...