nginx在linux系统应用详解之一基础介绍和全局配置

一、nginx简介

      1、特点:

          (1)nginx服务器既可以作为HTTP服务器,也可以作为反向代理服务器,还可以作为邮件服务器;

          (2)能够快速响应静态页面的请求;

          (3) 支持 FastCGI、SSl、VirtualHost、URLRewirte、HTTP Basic Auth 、Gzip等大量使用功能;并且支持共多的第三方功能模块的扩展 

      2、nginx三类基础功能介绍

          (1)作为HTTP服务器

                 A、处理静态文件(如HTML静态网页);处理索引文件以及支持自动索引

                 B、支持HTTP下的安全套接层协议SSL

                 C、支持基于IP和servername的虚拟主机设置

                 D、支持重新加载配置以及在线升级时,不用中断正在处理的请求

                 E、提供3XX-5XX错误代码的重定向功能

                 F、提供远程FastCGI服务

                 G、支持高并发链接

                 、、、众多功能

          (2)反向代理服务器

                 反向代理是nginx服务器作为web服务器的主要功能之一

                 在提供反向代理服务方面,nginx服务器转发前端请求性能稳定,并且后端转发与业务配置相互分离,配置相当灵活

                 它还可以做到负载均衡,解决网络负载,提高web服务性能。

          (3)支持邮件代理服务

                  支持IMAP和POP3认证

       3、Nginx的程序架构:

            master/worker

            一个master进程:负载加载和分析配置文件、管理worker进程、平滑升级

           一个或多个worker进程:处理并响应用户请求

          缓存相关的进程:

                   cache loader:载入缓存对象

                   cache manager:管理缓存对象

           nginx在linux系统应用详解之一基础介绍和全局配置

二、全局配置段常见的配置指令:

      分类:

            正常运行必备的配置

            优化性能相关的配置

            用于调试及定位问题相关的配置

            事件驱动相关的配置

      1、正常运行必备的配置:

           打开Nginx朱配置文件/etc/nginx/nginx.conf看到全局配置段

                   nginx在linux系统应用详解之一基础介绍和全局配置

           (1)user user [group];

                   定义用户和组工作进程使用的凭证。如果省略组,那么所属组为用户基本组。

           (2)pid /PATH/TO/PID_FILE;

                  指定存储nginx主进程进程号码的文件路径;

           (3)include file | mask;

                   指明包含进来的其它配置文件片断;

           (4)load_module file;1.10版本以后的可以使用DSO机制

                   指明要装载的动态模块;

                   查看已存在的模块

                   nginx在linux系统应用详解之一基础介绍和全局配置

         2、性能优化相关的配置:

             (1)worker_processes number | auto;

                    worker进程的数量;通常应该等于小于当前主机的cpu的物理核心数;

                    auto:根据当前主机物理CPU核心数,自动设置work_proceeses数量

             (2)worker_cpu_affinity auto [cpumask];

                    将每一个work_processes进程绑定在一个CPU上

                   注意:如果不绑定即不启用此项功能,那么worker进程在那个CPU上运行,不确定的,有可能造成在同一个运行服务时间内一个CPU上运行多个worker进程,而有的CPU上运行一个worker进程

             (3)worker_priority number;

                    指定worker进程的nice值,设定worker进程优先级;[-20,20]

             (4)worker_rlimit_nofile number;

                       worker进程所能够打开的文件数量上限(默认为1024);

                     一个worker进程可以1024个并发,它就可以打开1024个套接字文件(不包括其 它文件),

             (5)worker_connections number;

                    单个worker进程所能处理的最大请求数量

              实验一:

          手动指定worker进程数量和手动绑定CPU

          指定worker进程优先级为-8

          指定worer进程最大能打开的文件数量6000个(注意:此值要大于等于worker进程量和单个worker进程所能处理的请求数量的乘积)


           nginx在linux系统应用详解之一基础介绍和全局配置

                 语法检查和重载配置文件

                  nginx在linux系统应用详解之一基础介绍和全局配置

                 查看nginxworker进程及所绑定的cpunice

                 nginx在linux系统应用详解之一基础介绍和全局配置

                可以看到一共4worker进程,nice值为-8 分别绑定在4CPU

            实验二:

         自动获取worker进程数量和自动绑定CPU

                nginx在linux系统应用详解之一基础介绍和全局配置

               语法检查和重载配置文件

               nginx在linux系统应用详解之一基础介绍和全局配置 

              查看nginxworker进程及所绑定的cpu

              nginx在linux系统应用详解之一基础介绍和全局配置

              对比实验一,可以看到功能生效情况一致,只不过worker进程的绑定位置改变

       3、调试、定位问题:

            (1)daemon on|off;

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

            (2)master_process on|off;(主要用于开发测试)

                    是否以master/worker模型运行nginx;默认为on

            (3)error_log file [level];它不是用rsyslog管理的。是自己本身的功能进行自我管理

       4、事件驱动相关的配置:

            events {

                      …

                     }

            (1)worker_connections number;

                    每个worker进程所能够打开的最大并发连接数数量;

            (2)use method;

                   指明并发连接请求的处理方法;(有两种epollselect(它限定1024

                   use epoll;

            (3)accept_mutex on | off;

                   处理新的连接请求的方法;on意味着由各worker轮流处理新请求,Off意味着每个新请求的到达都会通知所有的worker进程;

       基本的全局配置如下图:

             nginx在linux系统应用详解之一基础介绍和全局配置

原创文章,作者:zq,如若转载,请注明出处:http://www.178linux.com/78194

(0)
zqzq
上一篇 2017-06-19 08:34
下一篇 2017-06-19 10:55

相关推荐

  • 推荐-​以各种方式实现yum源,简单暴力,绝对实操干货!

    以各种方式实现yum源,简单暴力,绝对实操干货! 科普:yum不是程序包安装工具,而是rpm包前端管理工具,通过yum可以更好的管理rpm的安装卸载 以各种方式实现yum源,简单暴力,绝对实操干货! 一、本地yum源之“挂载光盘镜像实现”! 二、本地yum源之“挂载本地磁盘上的镜像文件”! 三、如能上网,实现自定义指定镜像网站yum源 四、炸天重磅来袭!!!…

    Linux干货 2016-04-11
  • 网络中多网卡和多ip中的高可用

    一、虚拟网卡实现一个网卡多个地址 1、单个网卡实现多个ipv4地址,只需要在该网卡的配置文件的目录新增网卡配置文件即可。进入网卡"eth0"的目录下 2、新增网卡配置文件"ifcfg-eth0:0"和"ifcfg-eth0:1" 3、关掉NetworkManager服务 4、重启网卡,让系统重读配置…

    Linux干货 2016-09-10
  • 加密类型及其相关算法

    加密类型及其相关算法 §·TCP/IP安全: ※·机密性: 数据在网络上传输是明文传输(ftp,http,smtp,telnet): ※·数据的完整性: 数据在网络上传输,不能被其它人篡改,保证数据的完整性: ※·身份验证: 访问的主机有一种机制可以表明就是你需要通信的主机。 ※·保证机密性:对数据进行加密。 ·如何加密:发送方通过转换规(转换算法)则把明文…

    Linux干货 2016-09-06
  • 常见文件管理命令及bash特性

    cat:查看文件文本内容  -n:显示行号  [root@study ~]# cat -n /etc/passwd  1  root:x:0:0:root:/root:/bin/bash  2  bin:x:1:1:bin:/bin:/sb…

    系统运维 2016-11-06
  • OpenSSL

    三个组件: openssl: 多用途的命令行工具; libcrypto: 加密解密库; libssl:ssl协议的实现; PKI:Public Key Infrastructure CA RA CRL 证书存取库  建立私有CA: OpenCA openssl  证书申请及签署步骤: 1、生成申请请求; 2、RA核验; 3、CA签署; 4…

    Linux干货 2015-03-21
  • LVM练习题

    创建一个至少有两个PV组成的大小为20G的名为testvg的 VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻 辑卷testlv;挂载至/users目录 第一步!首先准备足够大的硬盘来实验 [root@Cloud /]#lsblk  #添加了/dev/sdb/c硬盘  NAME  &n…

    Linux干货 2017-08-26