Nginx的配置介绍

配置文件分两部分

main主配置段

http基本配置段

语法格式,配置指令要以分号结尾

directive value1 [value2..];

支持使用变量

模块内置变量

自定义变量

set var_name value

主配置段的指令的类别

用于调试,定位问题

正常运行必备的配置

优化性能的配置

事件相关的配置

  用于调试,定位问题的指令

1,daemon [off|on]

是否以守护进程方式启动nginx,默认为on

2,master_process on |off

是否以master/worker模型来运行nginx

3,error_log  /path/to/error_log level

错误日志文件及其级别;处于调试的目的,可以使用debug级别,但此级别只有在编译nginx时使用了--with-debug选项才有效

正常运行的必备配置

1,user USERNAME[GROUPNAME];

指定运行worker进程的用户和组,例如:

user nginx nginx;

2.指定nginx的pid文件

pid /path/to/pid_file

3.worker_rlimit_nofile #;

指定一个worker进程所能打开的最大文件句柄数;

4.worker_rlimit_sigpending #

指定每个用户能够发往worker的信号的数量

优化性能的相关配置

1,worker_processes 3;

worker线程的个数,通常应该为物理CPU核心个数减1

cat /proc/cpuinfo查看CPU的核心

2.worker_cpu_affinity cpumask ...;

绑定worker进程至指定的CPU上

CPUMASK

0001第一颗cpu

0010

0100

1000

例如:worker_cpu_affinity 00000001 00000010 00000100

3,time_resolution t;

时间解析度

gettimeofday();

4,worker_priority nice; 调整nice值(-20,19),nice越大,cpu优先级越高

事件相关的配置

1,accept_mutex[on|off]

内部调用用户请求至各worker时用的负载均衡锁;打开时表示能让多个worker轮流地,序列化的与响应新请求

2,lock_file /path/to/lock_file;

3,accept_mutex_delay #ms;

4,use[epoll |rgsig|select|poll]

定义使用的事件模型;建议让Nginx自动选择

5,worker_connection #;

每个worker进程所能够响应的最大并发请求数

网络连接相关的配置:

1.keepalive_timeout time;

保持连接的超市时长,默认为75s

2.keepalive_requests #;

在一次保持连接上允许承载最大资源请求数

3.keepalive_disable [msie6|safari|none]

为指定类型的浏览器禁用长连接;

4.tcp_nodelay on|off

对长连接是否使用TCP_NODELAY选项;

5.client_header_timeout time;

读取http请求报文首部的超时时长

6.client_body_timeout time

读取http请求body部分的超时时长

7.send_timeout time;

发送响应报文的超市时长

对客户端的请求进行限制:

1.limit_except METHOD{...}

指定对范围之外的其它方法的访问控制;

limit_except GET{

allow 172.16.0.0/16;

deny all

}

2.client_body_max_size SIZE;

限制请求报文中body部分上限;通过检测请求报文首部中的"Content_Length"来判定

3.limit_rate speed;

限制客户端每秒钟传输的字节数,默认为0,表示无限制

对内存或磁盘资源进行分配

1.client_body_in_file_only on|clean|off;

请求报文的body部分是否可暂存到磁盘中,on表示允许,请求结束也不会删除暂存内容,clean用完会清除磁盘,off不允许暂存;

2.client_body_in_single_buffer on|off

请求报文的body部分是否可暂存到内存的buffer中,放到里面会提高性能

3,client_body_buffer_size size;

4.client_body_temp_path DIR [level1[level2[level3[level4]]]]

例如:client_body_temp_path /var/tmp/nginx/client 1 2

5.client_header_buffer_size size;

MIME类型相关的配置

1,types{}

定义MIME types至文件的扩展名;

type{

text/html .html;

image/jpeg .jpg;

}

2.default_type MIME-TYPE;

文件操作优化相关的配置

1.sendfile on|off;

2.aio on|off;

3.directio size|off;

是否使用O_DIRECT选项去请求读取文件;与sendfile互斥

4.open_file_cache max=N[inactive=time] | off;

nginx可以缓存以下三种信息:

(1)文件句柄,文件大小和最近一次修改时间;

(2)打开目录的目录结构

(3)没有找到的或者没有权限操作的文件的相关信息

max=N表示可以缓存的最大条目上限;一旦到达上限,则会使用LRU从缓存中删除最近最少使用的条目; inactive=time;在inactive指定的时长内没有被访问过的缓存条目就会淘汰,默认关闭

5.open_file_cache_errors on|off;

是否缓存在文件缓冲中缓存打开文件时出现找不到路径,没有权限等的错误信息;

6.open_file_cache_min_uses time;

每隔多久检查一次缓存中缓存条目的有效性;默认60s

时间: 2024-07-29 17:36:39

Nginx的配置介绍的相关文章

Nginx编译配置介绍

源码包 nginx-1.6.2.tar.gz --help 使用帮助 --prefix=PATH Nginx安装路径,如果没有指定,默认为/usr/local/nginx. --sbin-path=PATH Nginx可实行文件安装路径.只能安装时指定,如果没有指定,默认为<prefix>/sbin/nginx. --conf-path=PATH Nginx主配置文件nginx.conf的路径,如果没有指定,默认为<prefix>/conf/nginx.conf. --error-

Python+Nginx实现邮件POP、IMAP、SMTP代理配置介绍

说到Python,大家都知道,是在运维方面的管理人员需要掌握的一门技术,为什么这么说呢,在运维方面Python开发语言应用比较广,以致可以帮助管理员提高工作效率,具体我就不多少了,接着我们说说邮件代理,因为公司的邮箱系统是使用是IBM的Domino Lotus服务,如果对Lotus了解的都知道,Lotus是文件数据库类型的服务器类型,用户的所有邮箱数据库都是独立的xxx.nsf,而通过数据库模板xxx.ntf进行创建或者定时刷新数据,来保证数据库的额稳定性.而当用户数量多的话,就需要创建多台邮件

Windows下Nginx的配置及配置文件部分介绍

一.在官网下载 nginx的Windows版本,官网下载:http://nginx.org/download/ 选择你自己想要的版本下载,解压 nginx(例如nginx-1.6.3) 包到你的window盘里的目录上. 执行下列操作:(需要记住的,会经常用到) nginx -s stop          // 停止nginx nginx -s reload       // 重新加载配置文件nginx -s quit          // 退出nginx 二.接下来就是配置nginx的co

nginx web+反向代理 的配置介绍

user  www;   #定义Nginx运行的用户和用户组 worker_processes  2;  #nginx进程数,建议设置为等于CPU总核心数. #error_log  logs/error.log;     全局错误日志定义类型 #error_log  logs/error.log  notice; #error_log  logs/error.log  info; #pid        logs/nginx.pid;    进程文件 events {  工作模式与连接数上限 w

nginx web日志介绍和分析

nginx web日志介绍和分析 Nginx访问日志打印的格式可以自定义,例如Nginx日志打印格式配置如下,Log_format 用来设置日志格式,Name(模块名) Type(日志类型),可以配置多个日志模块,分别供不同的虚拟主机日志记录所调用: log_format log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                   '$status $body_b

LNMP架构应用实战——Nginx服务配置文件介绍

LNMP架构应用实战--Nginx服务配置文件介绍 nginx的配置文件比较简单,但功能相当强大,可以自由灵活的进行相关配置,因此,还是了解下其配置文件的一此信息 1.Nginx服务目录结构介绍 安装完成后,在安装路径下就会有Nginx目录信息 [[email protected] application]# tree nginx nginx +-- client_body_temp +-- conf          #nginx服务配置文件目录 |   +-- fastcgi.conf  

nginx常用配置系列-虚拟主机

本来准备详尽的出一份nginx配置讲解,但nginx功能配置繁多,平常使用中使用最多的一般有: 1. 虚拟主机配置 2. HTTPS配置 3. 静态资源处理 4. 反向代理 ================= 虚拟主机配置 ================= 先说虚拟主机配置,nginx的核心配置文件在nginx的安装目录下conf目录中(如果是CentOS通过yum安装则在/etc/nginx目录中) 在conf目录下创建vhost目录,方便管理虚拟主机的配置文件 mkdir vhost 以e

nginx服务配置---php服务接入

前言: 最近要搭建一个内部的wiki系统, 网上搜了一圈, 也从知乎上搜集了一些大神的评价和推荐. 重点找了几个开源的wiki系统, 不过发现他们都是采用php来实现的. 于是乎需要配置php环境, 来配合服务正常工作. 网上多是apache+php的组合方式, 不过由于个人是nginx脑残粉, 因此决定采用nginx+php fastcgi来配置下环境. 思路梳理: 云主机是ubuntu系统(主要觉得apt好用, 当然centos的yum也是利器). 对于php, php-fpm, 以及ngi

【nginx】配置优化

1.编译安装过程优化 在编译Nginx时,默认以debug模式进行,而在debug模式下会插入很多跟踪和ASSERT之类的信息,编译完成后,一个Nginx要有好几兆字节.在编译前取消Nginx的debug模式,编译完成后Nginx只有几百千字节,因此可以在编译之前,修改相关源码,取消debug模式,具体方法如下:在Nginx源码文件被解压后,找到源码目录下的auto/cc/gcc文件,修改如下几行 sed -i '[email protected]="$CFLAGS -g"@#CFLA