高并发时,会出现php-fpm线程不够用的情况,此时一般需要调整backlog,之前也分析过:如果worker进程不够用,master进程会prefork更多进程,如果prefork达到了pm.max_children上限,worker进程又全都繁忙,这时master进程会把请求挂起到连接队列b[……]

Read more

Nginx报错日志发现有类似内容:

[alert] 12339#0: 1024 worker_connections are not enough

这报错呢,简单来说就是配置里的worker_connections太小了,并发量上去后,不够用了,调整也简单,修改nginx.conf里work[……]

Read more

Nginx:

  1. 工作在网络7层,可以针对http应用做一些分流的策略,比如针对域名,目录结构
  2. Nginx对网络的依赖较小,理论上能ping通就能进行敷在功能
  3. Nginx安装配置比较简单,测试起来很方便
  4. 也可以承担较高的负载压力且稳定,Nginx是为了解决c10k问题而诞生的[……]

Read more

直接摘录结论:如果是在同一台服务器上运行的nginx和php-fpm,并发量不超过1000,选择unix socket,因为是本地,可以避免一些检查操作(路由等),因此更快,更轻。如果我面临高并发业务,我会选择使用更可靠的tcp socket,以负载均衡、内核优化等运维手段维持效率。&n[……]

Read more

  1. weight 轮询(默认)。每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某台服务器宕机,故障系统被自动剔除,使用户访问不受影响。weight。指定轮询权值,weight值越大,分配到的访问机率越高,主要用于后端每个服务器性能不均的情况下。
  2. ip_hash。每个请求按访问IP的hash[……]

Read more

之前Nginx WebSockets 代理实现,对nginx实现WebSockets做了最基本的方法说明,然而实际运行会发现,如果域名的IP经常变动,该方法会造成更新不及时的问题。示例配置:

map $http_upgrade $connection_upgrade {    defaul[......]

Read more

奇葩情况是这样的,反向代理用了域名,然后有些IP失效,但是依然缓存,NGINX的反代就不对了~后来经老大指点,解析的dns后加个参数即可强制30秒解析一次~示例:

resolver 114.114.114.114 valid=30s;

[……]

Read more

以下内容完整转载自:使用nginx-http-concat添加nginx资源请求合并功能web项目中有时候一个页面会加载多个js或css资源请求,导致页面加载耗时较长,这时优化的方向可以采用资源合并,可以在客户端事先合并,也可以在服务端进行资源合并,服务端合并的方式使用起来更灵活。n[……]

Read more

没搞过,当时按HTTP配了也没测试,不觉得有问题,后来发现不行,还好浩哥及时指出问题并给出了解决方案,老大确实6。配置代码如下:

location /wsapp/ {    proxy_pass http://wsbackend;    proxy_http_version 1.1;[......]

Read more