Nginx功能模块以及进程管理

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.           针对NginxLinux系统的优化

关闭系统不需要的服务;

优化写磁盘操作,减少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功能模块以及进程管理

时间: 2024-10-04 04:25:35

Nginx功能模块以及进程管理的相关文章

Nginx 功能模块

一.Nginx 核心功能模块 (1) Nginx 核心功能模块负责 Nginx 的全局应用,主要对应主配置文件的 Main 区块和 Events 区块(2) Nginx 核心功能模块官网:http://nginx.org/en/docs/ngx_core_module.html 二.Nginx http 模块 Nginx http 功能模块 模块说明 ngx_http_core_module 包括一些核心的 http 参数配置,对应 Nginx 的配置为 HTTP 区块部分 ngx_http_a

读薄「Linux 内核设计与实现」(2) - 进程管理和调度

这篇文章是<读薄「Linux 内核设计与实现」>系列文章的第 II 篇,本文主要讲了以下问题:进程管理的任务.进程管理与其他模块的依赖关系.进程描述符和任务队列.进程的创建.线程的实现.进程的终止.进程调度. 0x00 进程管理的任务 进程能创建新的进程(通过复制现有进程) 确定哪个进程能拥有 CPU 接受中断并将中断导向相应的内核子系统 管理时钟硬件 当一个进程结束时释放其资源 动态装载执行模块 0x01 进程管理与其他模块的依赖关系 I 进程模块的内外界面 对用户进程提供了一组简单的系统调

操作系统原理学习笔记--进程管理

标签: 数据结构primitive存储算法io作业 2012-09-01 16:50 6603人阅读 评论(1) 收藏 举报  分类: [OS](4)  版权声明:本文为博主原创文章,未经博主允许不得转载. 进程管理 要点: 基础:进程描述及控制 策略:进程调度 实现:互斥与同步 避免:死锁与饥饿 解决:几个经典问题 进程的引入 程序的顺序执行 源代码程序,目标程序和可执行程序 程序执行:编辑,编译,链接,执行 程序的结构:顺序,分支,循环结构 程序执行的特征:顺序性,封闭性,可再现性 程序并发

linux进程管理工具一

内核最强大功能之一就是进程管理,对于system administrator来说,这部分熟练度对于系统调优起着决定性作用.现在我们一起来了解一下linux的进程管理工具吧,在介绍工具之前,有些基本概念要澄清: task struct:Linux内核存储进程信息的固定格式多个任务的的task struct组件的链表:task list MMU:Memory Management Unit  实现线性地址和物理地址的转换(根据task structure)虚拟内存集:可以被换出到swap的地址空间

运维程序】简单的命令控制器(支持定时命令执行、重复定时任务命令和进程管理,开发这个小程序主要是为了方便管理服务进程)【个人github项目】

一.前言: command-controller 一个运维程序,简单的命令控制器(支持定时命令执行和重复定时命令,开发这个程序主要是为了方便管理服务进程) 本来是要用python做的,但是之前做ffmpeg的时候已经写了一部分Java的命令控制功能了,有些代码就拿过来改改用了(其实是为了偷懒qaq) 二.实现功能 1.进程管理 只支持本程序启动的进程管理,本程序主要功能是定时执行某些脚本或者系统命令,当然命令行和脚本是很自由的,更多用法请自行探索 2.定时命令.任务 3.重复定时命令.任务 4.

Nginx模块管理和进程管理

前言 Nginx和Apache一样,同样适用饿模块化管理,但是和Apache"热插拔"(每次添加模块的时候,不需要重新编译,只需要重新载入即可)的方式不同,Nginx每次添加一个模块或删除一个模块的话都需要重新编译才可以适用相应的功能模块. 上一篇(http://blog.csdn.net/xlgen157387/article/details/49908523)已经说了Nginx的主要模块包括core.event.http.mail和misc(杂项),而每一个模块根据需要又有很多模块

二、nginx模块优化和进程管理

博客:http://lijinhuan.blog.51cto.com/ 微博:http://weibo.com/lijinhuanexperience 代码:https://github.com/lijinhuan 一.模块管理 1.nginx是模块化结构,但是它和apache不一样,它的模块不能动态加载或者卸载. 它是一种静态模块系统,如果想要卸载或者安装新的模块,必须重新编译指定 2.编译时./configure --help 查看所有模块:--without--xx表示默认安装,--wit

Linux下Nginx web服务器的实现及功能模块指令详解

Nginx (engine x)是一个高性能的HTTP和反向代理服务器,也是一款轻量级的Web 服务器 关于http协议的相关概念: URL统一资源定位符的形式: shceme://username:[email protected]:port/path;params?query#frag http事务:一次请求和一次响应构成一次事务 request请求格式:         <method><URL><VERSION>         HEADERS         

Nginx编译参数和进程管理介绍(二)

Nginx编译参数和进程管理介绍(二) 本文介绍两个部分:Nginx的编译参数以及nginx的进程管理.文章总体层次架构如图所示: 一.Nginx编译参数详解 从源代码编译应用程序时通常有三个步骤:配置,编译和安装,十分简单.其中配置步骤十分的重要,这直接决定了你的应用程序具备什么功能.所有编译安装时一定要特别重视配置的选项参数. Nginx的配置选项有如下: 1.Path选项 指定编译安装的各种路径位置. 2.依赖选项 指定需要依赖的库文件. 3.模块选项 指明需要安装模块,安装的模块决定了你