php开发心得

nginx配置说明

2019-03-07  本文已影响0人  sany_1126

1.性能优化相关配置

1.work_process  number | auto 

worker进程的数量;通常应该为当前主机的cpu核数

2.worker_cpu_affinity 【cpu mask】  提高缓存命中率

cpu mask :  00000001 : 0号cpu

                      00000010 : 1号cpu

                      1000000  : 8号cpu

worker_cpu_affinity   0001  0100

3.worker_priority number   worker进程的优先级

Syntax:worker_priority number;

Default:worker_priority 0;

Context:main

定义工作进程的调度优先级,就像使用nice命令一样:负数表示更高的优先级。 允许范围通常在-20到20之间变化。

4.worker_rlimit_nofile

worker进程所能打开的文件数量上限 如65535   支持并发连接数

5. events

events {

    #worker_connections  1024;

}

worker_connections    设置工作进程可以打开的最大并发连接数   work_process * worker_connections  = 最大并发数

use method 

指明并发连接连接请求的处理方法,默认自动选择最优方法

use epoll;

accept_mutex  on | off

如果启用了accept_mutex,则工作进程将依次接受新连接。 否则,将通知所有工作进程有关新连接的信息,如果新连接的数量很少,则某些工作进程可能只会浪费系统资源。(一般情况下打开即可,off情况下可能突然唤醒所有work造成惊群)

调试定位选项

1.daemon 

Syntax:daemon on | off;

Default:daemon on;

Context:main

是否以守护进程方式运行nginx

2.master_process  

Syntax:master_process on | off;

Default:master_process on;

Context:main

是否以 master / worker 运行进程 默认为master 启动后没有worker进程

3.error_log

Syntax:error_log file [level];

Default:error_log logs/error.log error;

Context:main, http, mail, stream, server, location

http 模块 ngx_http_core_module

http {

    server {

     1.   listen address  [:port] [default_server] ;  监听端口路径

     2.   server_name  www.baidu.com;  网站名称

     3.   root /PATH/; 根目录

    }

}

 4. tcp_nodelay

Syntax:tcp_nodelay on | off;

Default:

tcp_nodelay on;

Context:http, server, location

在keepalived模式下的连接是否启用

tcp_nodelay  当为off时,延时发送,合并多个请求后再发送

默认为on 不延迟发送

5.sendfile 

是否启用sendfile ,内核中封装报文直接发送 默认为off

普通read操作

硬盘—>内核缓冲区—>用户缓冲区—>内核socket缓冲区—>协议引擎

使用sendfile

硬盘—>内核缓冲区—>内核socket缓冲区—>协议引擎

默认为off

6.server_tokens

Syntax:server_tokens on | off | build | string;

Default:server_tokens on;

Context:http, server, location

是否在响应的server 显示 nginx 版本

7.alias

目录别名 

8.error_page 

error_page 404 = 200 /404.html

错误也页面返回到200  跳到404.html

8.try_files

location /images/ {

    try_files $uri /images/default.gif;

}

按顺序查询文件是否存在返回第一个找到的文件或者文件夹,如果所有文件或者文件夹找不到,会内部重定向到最后一个参数,最后一个参数是回退uri必须存在否则会出现内部500错误

9.keepalive_timeout

Syntax:keepalive_timeout timeout [header_timeout];

Default:keepalive_timeout 75s;

Context:http, server, location

设置保存连接时长,0表示禁止长链接 ,默认为75秒

10.keepalive_requests

Syntax:keepalive_requests number;

Default:keepalive_requests 100;

Context:http, server, location

This directive appeared in version 0.8.0.

在一次长链接上所允许请求资源的最大数量 默认为100次

11.keepalive_disable

Syntax:keepalive_disable none | browser ...;

Default:keepalive_disable msie6;

Context:http, server, location

对那种浏览器禁止长链接

12.send_timeout

Syntax:send_timeout time;

Default:send_timeout 60s;

Context:http, server, location

向客户端发送响应报文超时时长此处指两次写操作之间的间隔时长,而非整个响应过程的传输时长

13 limit_rate

Syntax:limit_rate rate;

Default:

limit_rate 0;

Context:http, server, location, if in location

限制给客户端传输速率

14 limit_except

Syntax:limit_except method ... { ... }

Default:—

Context:location

limit_except GET {

    allow 192.168.1.0/32;   //允许这个主机

    deny  all;   //其他不允许

}

15.aio

Syntax:aio on | off | threads[=pool];

Default:aio off;

Context:http, server, location

This directive appeared in version 0.8.11.

异步IO

16

上一篇下一篇

猜你喜欢

热点阅读