• 主配置文件说明(先将注释部分去掉:sed -ri ‘/^#|[[:space:]]+#/d’ /etc/nginx/nginx.conf)
(1)全局配置段
1:指明运行worker进程的用户和组
user nginx nginx;
 
2:指明pid文件路径
pid /var/run/nginx.pid;
 
3:指明worker进程所能够打开的最大文件数(可以省略)
worker_rlimit_nofile 1024
 
4:worker的进程数,应该为CPU的核心数或核心数减一,如果是双核CPU,可以给2
worker_processes 2;
 
5:将nginx的worker进程,绑定在不同的CPU上, 如果分别绑定在第一颗和第二颗核心上,可以使用ps axo command,pid,psr 命令查看CPU的绑定情况
worker_cpu_affinity 0001 0010;
 
6:指定进程的nice值,nice值越小优先级越高
worker_priority 0;
 
7:指定以何种方式启动Nginx,默认是以daemon的方式启动
daemon on
 
8:指定是否使用master/worker模型启动nginx进程,默认是
master_process on
 
9:指定错误日志文件路径、日志级别
error_log logs/error.log error;
 
 
(2)event配置段
 
1:指定单个worker进程打开的最大socket连接数,默认为512,但是必须小于worker进程所能够打开的最大文件数
worker_connections 512;
 
2:指明处理并发连接请求时,使用的网络I/O处理方式,无需管理,linux自行判断
use method;
 
3:指明worker进程是否支持轮询响响应的新请求
accept_mutex on;
 
4:指明锁文件路径
lock_file /var/lock/nginx.lock;
 
(3)http配置段
1:指明mime类型,用于数据传输
default_type text/plain;
或 default_type application/octet-stream;
 
2:指定是否启用sendfile功能,sendfile功能用于读写函数中减少拷贝,也就是linux的0拷贝
sendfile on;
 
3:指定保持连接的超时时长,0表示禁止使用长连接,默认为65秒
keepalive_timeout 65;
 
4:指定长连接上响应客户端请求的最大数量,默认为100
keepalive_requests 100;
 
5:指明向客户端发送响应报文的超时时长,如果客户端没有接受,那么就关闭连接
send_timeout 60s;
 
6:指明客户端请求报文的body部分的数据,设置缓冲区大小,超出16K大小会被存储在硬盘上
client_body_buffer_size 16k;
 
7:指定响应报文的传输速率,默认为0,不做限制
limit_rate 0;
 
8:指明启用AIO
aio off;
 
9:指定配置一个虚拟主机
server { }
 
 
(4)server配置段
1:指明socket的监听选项,有下面三种常用情况
listen address[:port] [default_server] [ssl] [backlog=number] [rcvbuf=size] [sndbuf=size]
listen port [default_server] [ssl]
listen unix:path [default_server] [ssl]
 
port:指明端口
default_server:指定这个虚拟主机是默认的虚拟主机
ssl:限制只能通过ssl连接提供服务
backlog:后援队列的长度
rcvbuf:接受缓冲大小
sndbuf:发送缓冲大小
 
 
2:指明当前server的主机名,主机名可以并排写,有四种定义主机名的格式,但是优先级有区别
server_name www.uplooking.com
精确定义主机名,例如:www.uplooking.com 优先级第一
左通配定义主机名:例如:*.uplooking.com 优先级第二
右通配定义主机名:例如:www.uplooking.* 优先级第三
使用正则表达式匹配主机名:例如:~^.*/.uplooking/..*$ 优先级第四
 
3:指明站点路径,配置文件默认是相对路径,可以写绝对路径/usr/local/nginx/html
root html;
 
4:在keepalived模式下的连接是否启用TCP_NODELAY选项,TCP有一个默认的delay优化机制,可以在这里将它关闭
tcp_nodelay on
 
5:指明默认的首页文件
index index.html index.htm;
 
6:指定错误页面重定向
error_page 404 =200 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
 
7:指定匹配的URL,通过用户输入的URL来匹配不同的location,匹配到了,就按照location内部的设置进行响应
location [ = | ~ | ~* | ^~ ] uri {
 
}
 
= :URI精确匹配 ,优先级第一
^~ :对于URI的左边进行匹配,不区分字符大小写,优先级第二
~ :模式匹配,正则表达式模式匹配,匹配时候区分大小写,优先级第三
~* :模式匹配,正则表达式模式匹配,匹配时候不区分大小写 ,优先级第三
不带以上四种符号的URI的优先级是第四
 
(5)location配置段
1:指定路径别名(要与root指令区别开来)
location /i/ {
alias /data/w3/images/;
}
请求:http://www.uplooking.com/i/index.html
资源文件:/data/w3/images/index.html
 
 
2:指定访问控制,除了GET方法以外,例如:POST方法,必须是192.168.10.10主机,才能够被响应
limit_except GET {
allow 192.168.10.10;
deny all;
}
  • Nginx缓存指令
# 指定缓存开启,且最大的文件缓存为1000,非活动的缓存时长为20秒
open_file_cache max=1000 inactive=20s;
 
# 指定缓存有效性的,默认是60秒
open_file_cache_valid 30s;
 
# 缓存对象被访问的次数小于2,则被认为是非活动对象
open_file_cache_min_uses 2;
 
# 是否缓存错误信息
open_file_cache_errors on;
  • http段 访问控制模块 ngx_http_access_module
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
}
  • http段 访问认证模块 ngx_http_auth_basic_module
创建basic认证文件
htpasswd -c /etc/nginx/.uplooking_password uplooking
 
location /uplooking/ {
auth_basic "uplooking Place;"
auth_basic_user_file /etc/nginx/.uplooking_password;
}
  • http段 基本状态模块 ngx_http_stub_status_module
# 请用统计功能
stub_status;

nginx 配置文件简介的更多相关文章

  1. Nginx的配置文件简介及在Nginx中配置基于不同ip的虚拟主机

    Nginx的配置文件简介及在Nginx中配置基于不同ip的虚拟主机: #user nobody; worker_processes 1; #error_log logs/error.log; #err ...

  2. nginx的简介和配置文件实例(一)

    此文章配合 nginx配置文件解答    共同分享,了解. 一.nginx服务简介Nginx是一个高性能的HTTP和反向代理服务器 使用 Nginx 前必须了解的事项: 1)Nginx 本身只是一个 ...

  3. Nginx入门简介

    Nginx入门简介 Nginx 介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二 ...

  4. Nginx(一) 简介

    Nginx简介 一款基于异步框架的轻量级高性能的Web 服务器/反向代理服务器/缓存服务器/电子邮件(IMAP/POP3)代理服务器 特点 高并发量:基于 epoll/kqueue 模型开发,支持高并 ...

  5. Nginx配置文件nginx.conf中文详解(转)

    ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...

  6. 查看nginx配置文件路径

    进入nginx安装目录(我的是/usr/local/nginx-1.7.8/) 进入sbin目录,输入 ./nginx -t查看nginx配置文件路径以及该文件语法是否正确 ./nginx -v查看n ...

  7. Nginx配置文件详解

    Nginx是一款面向性能设计的HTTP服务器,相较于Apache.lighttpd具有占有内存少,稳定性高等优势. ######Nginx配置文件nginx.conf中文详解##### #定义Ngin ...

  8. 005.nginx配置文件

    1.替换nginx主配置文件 通过前面的配置,LNMP的环境已经搭建完成,现在我们替换nginx配置文件: [root@huh ~]# cd /usr/local/nginx/conf/[root@h ...

  9. nginx配置文件nginx.conf超详细讲解

    #nginx进程,一般设置为和cpu核数一样worker_processes 4;                        #错误日志存放目录 error_log  /data1/logs/er ...

随机推荐

  1. WOT干货大放送:大数据架构发展趋势及探索实践分享

      WOT大数据处理技术分会场,PingCAP CTO黄东旭.易观智库CTO郭炜.Mob开发者服务平台技术副总监林荣波.宜信技术研发中心高级架构师王东及商助科技(99Click)顾问总监郑泉五位讲师, ...

  2. python教程(三)·函数进阶(下)

    下半部分果然很快到来,这次介绍函数的更高级用法,装饰器! 函数嵌套 先来说说函数嵌套,python中的函数是可以嵌套的,也就是说可以将一个函数放在另一个函数里面,比如: >>> de ...

  3. 'express'不是内部或外部命令, 也不是可运行的程序, 或批处理文件

    1. npm install -g express-generator 安装新的express框架2. express -h 错误提示: 'express'不是内部或外部命令, 也不是可运行的程序, ...

  4. 浅谈style.height、clientHeight、offsetHeight、scrollHeight

    先分别介绍以下,以下资料来自MDN HTMLElement.offsetHeight 是一个只读属性,它返回该元素的像素高度,高度包含该元素的垂直内边距和边框,且是一个整数. Element.clie ...

  5. 《浅析Entity Framework Core中的并发处理》引起的思考

    看到一篇关于EF并发处理的文章,http://www.cnblogs.com/GuZhenYin/p/7761352.html,突然觉得为什么常见业务中为什么很少做并发方面的考虑.结合过去的项目,这样 ...

  6. 第三次随笔——虚拟机及Linux入门

    虚拟机及Linux入门 虚拟机的安装 对于虚拟机的概念我早有接触,但是从来没有真正的实践过,借这次作业机会我终于实践了虚拟机的安装,安装的过程较为顺利,但还是出现了以下问题: 无法选择64位的系统 解 ...

  7. ruby学习笔记(2)-chomp,chop的区别

    还没开始系统性的学习Ruby,最近在看metasploit框架的exploit会涉及到Ruby脚本,也就硬着头皮一遍查阅资料一遍做些笔记吧. Ruby字符串中存在chop和chomp的内置函数.我在h ...

  8. 【java笔记】Calendar.getInstance()是什么意思

    Calendar类是个抽象类,因此本身不能被实例化,然而在却创建了Calendar 的对象,但并不是抽象类可以创建对象这个对象并不是Calendar 自身实例,而是其子类实例,这是在getInstan ...

  9. rman中 Backup Set 与 Image Copy 优缺点比较

    Backup Set: 一个备份集中可以包含多个数据文件,存储High Water Mark 下的数据块,并且可以采用压缩方式进行,故大小要小于原始数据文件的大小.restore与 recover的开 ...

  10. 【LG5020】[NOIP2018]货币系统

    [LG5020][NOIP2018]货币系统 题面 洛谷 题解 考场上第一眼还不会233 可以发现只要可以被其他的货币通过一些奇奇怪怪的方式表示出来的货币就\(ban\)掉即可 就是个完全背包 我是统 ...