2013-09-09 18:37

引用来自“eechen”的评论

对于PHP而言,Nginx还有一个强劲的fastcgi_cache功能:
chrome -> nginx(fastcgi_cache) -> php-fpm(memcache) -> mysql
fastcgi_cache的作用是缓存fastcgi生成的内容,很多情况是php生成的动态的内容。
fastcgi_cache缓存减少了nginx与php的通信的次数,更减轻了php和数据库(mysql)的压力,
fastcgi_cache可以设置缓存过期时间,比如200页面1小时后过期:fastcgi_cache_valid 200 1h;

配置fastcgi_cache重启服务后多出一个cache manager process(缓存管理进程)

清除缓存:
1.等待缓存自行过期.
2.写PHP脚本通过编程删除.
3.使用第三方模块ngx_cache_purge删除缓存.
4.手动删除.

header中有Pragma:no-cache则Nginx不会缓存这些页面.

修改:
< header中有Pragma:no-cache则Nginx不会缓存这些页面.
---
> header中有Cache-Control: no-cache则Nginx不会缓存这些页面.
<?php
header("Cache-Control: no-cache, must-revalidate, max-age=0"); //HTTP 1.1
header("Pragma: no-cache"); //HTTP 1.0
?>
2013-09-09 15:03

引用来自“中国孙悟空”的评论

国内怎么没有能出现这样的基础性软件,唉
确实如此。就算有,也很少会开源的。
孙悟空威客网,全球领先创意服务平台,震撼中国所有设计行业,"没有做不到,只有想不到","啥人才都有,啥都可以做",分享个页面:http://www.swkweike.com/index.php?do=prom&u=5675&p=reg

国内也有一个kangle
2013-09-09 13:21
对于PHP而言,Nginx还有一个强劲的fastcgi_cache功能:
chrome -> nginx(fastcgi_cache) -> php-fpm(memcache) -> mysql
fastcgi_cache的作用是缓存fastcgi生成的内容,很多情况是php生成的动态的内容。
fastcgi_cache缓存减少了nginx与php的通信的次数,更减轻了php和数据库(mysql)的压力,
fastcgi_cache可以设置缓存过期时间,比如200页面1小时后过期:fastcgi_cache_valid 200 1h;

配置fastcgi_cache重启服务后多出一个cache manager process(缓存管理进程)

清除缓存:
1.等待缓存自行过期.
2.写PHP脚本通过编程删除.
3.使用第三方模块ngx_cache_purge删除缓存.
4.手动删除.

header中有Pragma:no-cache则Nginx不会缓存这些页面.
2013-09-09 12:35
在Ubuntu上用siege压,用htop监测,nginx的worker_processes默认开1个,php动态并发350,nginx也就占用4M左右,CPU占用率则不到10%。

Nginx还支持将某一个工人进程绑定在某一个核上(cpu亲缘性绑定),这样就不会因为进程的切换带来cache的失效,所以推荐设置cpu有几个核就设置几个worker进程.
但注意,更多的worker进程,只会导致进程来竞争cpu资源了,从而带来不必要的上下文切换,所以worker进程不是越多越好.
详细参见: http://tengine.taobao.org/book/chapter_02.html

比如对于一台四核CPU的服务器,可以把Nginx的两个工人进程绑定到CPU2和CPU3.
四核:0001表示CPU0,0010表示CPU1,0100表示CPU2,1000表示CPU4.
因为系统会优先使用第一个CPU,所以把Nginx绑定到最后两个CPU.
worker_processes 2;
worker_cpu_affinity 1000 0100;

Nginx还可以轻松实现PHP分布式服务,前端放一台强劲的Nginx服务器,PHP动态请求则fastcgi_pass到upstream后端的PHP-FPM集群:

upstream example.com.backend {
#ip_hash; #根据来源IP和后端配置来做hash分配,确保固定IP只访问一个后端
server 192.168.0.1:9000 weight=2; #weight默认为1,值越大,这台server负载的权重就越大
server 192.168.0.2:9000 down; #down表示此台server暂时不参与负载
server 192.168.0.3:9000;
server 192.168.0.4:9000 backup; #当其他非backup服务器down或者busy的时候,请求backup机器,属于应急措施,不能和ip_hash一起使用
}

server{
location ~ \.php$ {
...
fastcgi_pass example.com.backend;
...
}
}
2013-09-09 10:33

引用来自“Chriesh”的评论

引用来自“水人”的评论

引用来自“明月惊鹊”的评论

nginx果然强大。老衲用了它来做rtmp流媒体服务器,从github上下载了nginx-rtmp-module,内存、cpu使用率都远远优于red5和fms。

大哥有相关资料不?

同求~求思路也行~

https://github.com/arut/nginx-rtmp-module
这里是插件的源码。

不过,你们先熟悉rtmp吧。
2013-09-09 09:35
nginx果然强大。老衲用了它来做rtmp流媒体服务器,从github上下载了nginx-rtmp-module,内存、cpu使用率都远远优于red5和fms。
2013-09-09 08:36
回去试试
2013-09-09 07:10
已经使用三年,简单,高效,稳定!
回复 @
{{emojiItem.symbol}}
返回顶部
顶部