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学习笔记1-Nginx功能模块以及进程管理的更多相关文章

  1. nginx 学习笔记(2) nginx新手入门

    这篇手册简单介绍了nginx,并提供了一些可以操作的简单的工作.前提是nginx已经被安装到你的服务器上.如果没有安装,请阅读上篇:nginx 学习笔记(1) nginx安装.这篇手册主要内容:1. ...

  2. nginx 学习笔记(3) nginx管理

    nginx可以通过向其发送信号来进行管理.默认情况下主进程的进程ID写到文件/usr/local/nginx/logs/nginx.pid中.当然也可以在配置文件中自定义该pid文件,自定义使用pid ...

  3. nginx 学习笔记(1) nginx安装

    1.nginx安装 根据操作系统的不同,nginx的安装方式也不相同. 1.1 对linux系统来说,nginx.org提供了nginx安装包.http://nginx.org/en/linux_pa ...

  4. Nginx学习笔记六Nginx的模块开发

    1.Nginx配置文件主要组成:main(全局配置)这部分的指令将影响其他所有部分.server(虚拟主机配置)这部分指令主要用于指定虚拟主机域名,IP和端口.upstream(主要为反向代理,负载均 ...

  5. 七、Nginx学习笔记七Nginx的Web缓存服务

    user www; worker_processes 1; error_log /usr/local/nginx/logs/error.log crit; pid /usr/local/nginx/l ...

  6. nginx学习笔记(7)Nginx如何处理一个请求---转载

    如何防止处理未定义主机名的请求基于域名和IP混合的虚拟主机一个简单PHP站点配置 基于名字的虚拟主机 Nginx首先选定由哪一个虚拟主机来处理请求.让我们从一个简单的配置(其中全部3个虚拟主机都在端口 ...

  7. nginx 学习笔记(5) nginx调试日志

    为启动一个调试日志,nginx需要在构建时配置城支持调试模式. ./configure --with-debug ... 而且调试级别应该使用err_log指令来设置: err_log /path/t ...

  8. nginx 学习笔记(6) nginx配置文件中的度量单位

    容量大小可以用比特(byte),千比特(kilobyte,后缀k或者K)或者兆(megabytes,后缀m或者M),例如:“1024”,“8k”,“1m”. 时间间隔可以用毫秒(millisecond ...

  9. Nginx学习笔记4 源码分析

    Nginx学习笔记(四) 源码分析 源码分析 在茫茫的源码中,看到了几个好像挺熟悉的名字(socket/UDP/shmem).那就来看看这个文件吧!从简单的开始~~~ src/os/unix/Ngx_ ...

随机推荐

  1. ubutun 安装php7.1x

    服务器ecs上本来跑了一套nginx+php5.5,由于新项目使用的是laravel5.4,所以不得不把php升级,在此记录下在此安装的过程和遇到的问题,总体来说还算顺利 cd /usr/local/ ...

  2. linux基础 作业篇

    1.自动部署反向代理 web nfs #!/usr/bin/python #-*- coding:utf-8 -*- #开发脚本自动部署及监控 #1.编写脚本自动部署反向代理.web.nfs: #!/ ...

  3. MYSQL不能从远程连接的解决方法

    为了在其它电脑上能用root用户登录,需进行以下动作: 首先在mysql服务器端打开mysql 1. mark>mysql -u root -p //输入密码,进入MySQL服务器 2.mysq ...

  4. 蓝桥杯-等额本金-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  5. NancyFx 2.0的开源框架的使用-Authentication

    新建一个空的项目 新建好了空的项目以后,接着通过NuGet安装一下三个包 Nancy Nancy.Hosting.Aspnet Nancy.ViewEnglines.Razor 然后在项目中添加Mod ...

  6. Java中的StringTokenizer类

    /*//在java.util中的StringTokenizer类可以分析一个字符串并将字符串分解成可被独立使用的单词//1.StringTokenizer(String s)-----------为字 ...

  7. 基于Spring的轻量级工作流框架

    项目地址 码云:https://git.oschina.net/null_584_3382/business-flow-parent github:https://github.com/Athlizo ...

  8. sublime设置 快捷键(自动换行)

    一.菜单view > word wrap选上就好了 二.如果让编辑器默认是自动换行的话把它保存到配置中 Preference > Settings-User插入以下一行配置 "w ...

  9. 新鲜出炉的less与sass较量

    最近接触了Bootstrap,涉及到了LESS,CSS的预处理器使用最广泛的就是LESS和Sass,都是努力把CSS武装成为开发语言,让它从简单的描述性语言过渡到具有程序式特性的语言,主要的特性就是: ...

  10. 仿中关村win8频道(win8.zol.com.cn)下的tab效果

    最近觉得中关村win8频道下的那个Tab效果很好看. 一时兴起就自己做了一个.觉得还蛮不错的,特地来给大家分享一下.以下是相关的HTML页面写法: <div class="popula ...