首页 > 其他 > 详细

Nginx 随笔

时间:2017-03-03 21:24:51      阅读:168      评论:0      收藏:0      [点我收藏+]

http:MPM

prefork,worker,event


prefork:主进程,生成多个子进程,每个子进程处理一个请求;

worker:主进程,生成多个子进程,每个子进程生成多个线程,每个线程响应一个请求。

event:主进程,生成多个子进程,每个子进程处理多个请求;



I/O类型:


同步:调用发出之后不会立即返回,但一但返回,则返回即使最终结果。

异步:调用发出之后,被调用方立即返回消息,但返回的并非最终结果,被调用者通过状态、通知机制等来通知调用者,或通过回调函数来处理结果;


阻塞:调用结果返回之前,调用者会被挂起;调用者只有在得到返回结果之后才能继续;

非阻塞:调用者在结果返回之前,不会被挂起。即调用不会阻塞调用者;


I/O模型:

从磁盘到内核内存,在从内核内存复制到进程内存。


nginx开发之初是基于事件驱动行I/O,并且是边缘触发。


用户通过http/https与worker进程通讯,

worker 通过http反代web server

worker 通过 fastcgi动态模块加载动态资源

worker 通过memcache 与mecache 通讯。


master:加载配置文件,管理worker进程,平滑升级

worker:http服务,http代理,fastcgi代理。




~:正则表达式匹配,区分大小写

~*:正则表达式匹配,不区分大小写

^~:URI的左半部分匹配




location /images/ {

root /data/imgs/;

}


location /images/ {

alias /data/imgs/;

}


root:指令

/images/test.gpg -----> /data/imgs/images/test.gpg



alias:指令

/images/test.gpg-----> /data/imgs/test.gpg



#长连接有效时间,默认65秒

keepalive_timeout  


#在持久连接上,允许请求的最大资源数,默认为100个

keepalive_requests 


#禁止那些浏览器使用keepalive功能。

keepalive_disable


#发送响应报文的超时时长,默认为60秒,一般为服务器响应客户端,给客户端发送数据。

send_timeout 


nginx 状态信息模块:

ngx_http_stub_status_module



# cat /etc/nginx/conf.d/admin.conf 

server

{

    listen 80;

    server_name _;

    index  index.html index.php;

    location /admin/ {

root /data/www/;

auth_basic "admin com";

auth_basic_user_file /etc/nginx/passwd;

}

    location /status/ {

     stub_status;

}

}




[root@localhost www]# curl http://192.168.121.131/status/

Active connections: 1 

server accepts handled requests

 14 14 48 

Reading: 0 Writing: 1 Waiting: 0 



Active connections:当前活动的客户端连接数。

accepts:已经接受的客户端连接数

handled:已处理过的客户端连接总数量

requests:客户端的总请求数。

Reading:正在读取的客户端请求的数量。

Writing:正向其发送响应报文的连接数量。

Waiting:  等待其发出请求的空闲连接数量。


本文出自 “LINUX Super梦” 博客,请务必保留此出处http://215687833.blog.51cto.com/6724358/1903082

Nginx 随笔

原文:http://215687833.blog.51cto.com/6724358/1903082

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!