Nginx学习笔记1-Nginx功能模块以及进程管理
2014-07-22 11:47
169 查看
1、 功能
1.1. 功能描述使用缓存加速反向代理,简单负载均衡和容错;
使用缓存机制加速远程FastCGI服务器的访问;
模块化结构;
基本的HTTP功能;
邮件代理服务器功能;
架构可扩展:非阻塞、时间驱动、一个master多个worker、高度模块化;
主要扮演角色为反向代理、CDN缓存服务
1.2. 基本模块
内核模块、事件驱动模块、邮件模块、服务模块
相关配置参数举例:
内核模块参数env\error_log\master_process\user\worker_cpu_affinity\worker_processes;
事件模块参数worker_connections\use;
通过work_connections和worker_processes指令能计算出最大客户端连接数:
Max_clients = work_connections * worker_processes;
在反向代理环境下,最大客户连接数变为:
Max_clients = worker_processes * worker_connection /4
原因在于默认请款改下一个浏览器会对服务器打开两个连接,nginx使用来自于同一个池的文件描述符来连接上游服务器。
HTTP模块参数aio\alias\directio\error_page\listen\server\location\root\server_name\types
2、 进程管理
2.1. Master进程和worker进程分别表示主进程和工作进程,
主进程可处理的信号如下:Term\INT\USER1\USER2\HUP\WINCH\QUIT;
工作进程可处理:TERM\INT\USER1
2.2. Worker数目设置
设置数目可以和CPU核数一样多,最好少一个,因Linux系统本身要使用CPU
2.3. 针对Nginx对Linux系统的优化
关闭系统不需要的服务;
优化写磁盘操作,减少nginx访问时产生的写磁盘操作;
优化资源限制,如设置可打开的文件个数和进程数,使用 ulimint –n 和ulimit –u ;
优化内核TCP选项
2.4. 优化Nginx服务器
关闭访问日志;
使用epoll
服务器配置优化:如
Worker_connection 65535
Keepalive_timeout 60
Client_header_buffer_size 8K
Worker_rlimit_nofile 65535
相关文章推荐
- Nginx 之三:nginx服务器模块、web请求处理机制及事件驱动模型、进程功能和进程间通信
- Linux(Centos)之安装Nginx及注意事项 阅读目录 1.Nginx的简单说明 2.准备工作 3.安装SSL功能需要openssl库以及gzip模块需要的zlib库 4.安装 rewri
- 二、nginx模块优化和进程管理
- Nginx 之三:nginx服务器模块、web请求处理机制及事件驱动模型、进程功能和进程间通信
- 4000 Nginx学习笔记3-Nginx日志变量以及常见模块
- Nginx源码分析-进程管理之master进程
- Nginx源码分析-进程管理之worker进程
- Delphi 枚举系统进程以及模块文件名
- 如何枚举进程以及如何枚举进程所包含的模块
- 一个关于进度管理的功能模块设计
- nginx相关模块功能收集(持续更新)
- 传智播客--OA的岗位管理功能模块的实现总结
- VC获得系统当前进程以及某进程使用的模块的方法
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台二(C#开发)-登录功能模块
- Python之os模块的进程管理介绍
- 利用nagios,snmp,监听处理linux下的特定进程和端口,以及邮件短信报警功能 推荐
- 标准功能模块组件 -- “文档管理组件,网络文档管理,网络存储”,B/S版本组件可独立运行,也可集成到其他项目里,数据结构清晰思路严谨
- 标准功能模块组件 -- 名片管理组件,C/S 版本的标准用例程序,可以参考权限实现方法
- COM用于不同进程以及不同机器之间的模块交互
- RedGlovePermission 权限管理系统源码(支持自定义权限、模块,支持角色权限,用户独立权限以及多角色权限)