nginx基本配置

本文介绍了Nginx的I/O模型,包括阻塞I/O、非阻塞I/O、异步I/O,并详细阐述了Nginx在web服务相关功能中的应用,如虚拟主机、访问日志、url重写等。同时,解析了Nginx的配置结构,包括主要模块、配置指令和变量,以及性能优化和调试方法。
摘要由CSDN通过智能技术生成

I/O模型:
阻塞I/O:bkocking,指io操作需要彻底完成后才返回到用户空间,调用结果返回之前,调用者被挂起

非阻塞I/O模型:nonblocking,指io操作被调用后立即返回给用户一个状态值,无需等到io操作彻底完成,最终的调用结果返回之前,调用者不会被挂起

在这里插入图片描述

异步I/O模型: asynchronous,被调用者通过状态,通知或回调机制主动通知调用者或被调用者的运行状态
在这里插入图片描述

异步I/O模型: 当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态,通知和回调通知调用者输入输出操作。

在这里插入图片描述

同步I/O引起进程阻塞,直到I/O操作完成
异步I/O不会引起进程阻塞
I/O复用先通过select调用阻塞

epoll:利用内存加速与内核空间的消息传递

web服务相关功能

虚拟主机
支持keep-alive和管道连接
访问日志(支持基于日志缓冲提高其性能)
url rewirte
路径别名
基于ip及用户的访问控制
支持速率限制及并发数限制
重新配置和在线升级而无须中断客户的工作进程
Memcached的GET接口

在这里插入图片描述

nginx模块:
核心模块:core module
标准模块:http模块,mail模块,stream模块

nginx功能:
静态的web资源服务器
结合FastCGI/uWSGI/SCGI等协议反向代理动态资源请求
http/https协议的反向代理
imap4/pop3协议的反向代理
tcp/udp协议的请求转发(LVS功能!)

nginx目录结构和命令:
ls /usr/local/nginx/
html是测试页,sbin是主程序
ls /usr/local/nginx/sbin/
nginx只是一个程序文件
ls /usr/local/nginx/html/
50x.html index.html测试网页
Nginx:默认为启动nginx
-h 查看帮助选项
-V查看版本和配置选项
-t 测试nginx语法错误
-c filenma指定配置文件(default: /etc/nginx/nainx.conf)
-s signal发送信号给master进程,signal:stop,quit,reopen,reload
-g directives在命令行中指明全局指令

nginx配置:
配置文件的组成部分:
主配置文件:nginx.conf
子配置文件:include conf.d/*.conf
fastcgi,uwsgi,scgi等协议相关的配置文件
mime.types:支持的mime类型
主配置文件的配置指令:
directve value [value2…];
指令必须以分号结尾
支持配置变量
1.内建变量:又nginx模块引入,可直接引用
2.自定义变量:由用户使用set命令定义
set variable_name value;
3.引用变量:¥variable_name
nginx配置文件:
主配置文件结构:四部

  1. main block:主配置段,全局配置段,怼http。mail都有效
    event{

    }事件驱动相关的配置

  2. http{

    …各server的公共配置
    server{每个server用于定义一个虚拟主机

    }
    server{

    server_name 虚拟主机名
    root 主目录
    alias 路径别名
    location [OPERATOR] URL {指定URL特性

    if CONDITION {

    }
    }
    }
    }
    }http/http协议相关配置段

  3. mail{

    }mail协议相关配置段

4 stream {

}stream服务器相关配置段

帮助文档:http://nginx.org/en/docs.ngx_core_modeule.html
user
Syntax: user user[group]
Default: user nobody nobody;
Context: main
指定worker进程的运行身份,如组不指定,默认和用户名同名
pid /PATH/TO/PID_FILE
指定存储nginx主进程PID的文件路径
includ file | mask
指明包含进来的其他配置文件片断
load_module file
模块加载配置文件: /user/share/naing/modules/*.cong
指明要装载的动态模块路径:/usr/lib64/nginx/modules

性能优化相关的:
1.worker_processes number | auto
worker进程的数量; 通常应该为当前主机的cpu的物理核心数
2.worker_cpu_affinty cpumask…
worker_cpu_affinty auto [cpumask] 提供缓存命令率
CPU MASK :00000001 : 0号CPU
00000010 : 1号CPU
10000000 : 8号CPU
worker_cpu_affinity 0001 0010 0100 1000;
worker_cpu_affinity 0101 1010;
3.worker_priority number
指定worker进程的nice值,设定worker进程优先级:[-20,20]
4.worker_rlimit_nofile number
worker进程所能够打开的文件数量上限

事件驱动相关的配置:
events{

}
1,worker_connections number
每个worker进程所能够打开的最大并发连接数数量,
总最大并发数:worker_processes*worker_connections
2.use method
指明并发连接请求的出来方法,默认自动选择最优方法
3.accept_mutex on | off 互斥
出来新的连接请求的方法; on指由各个worker轮流处理新请求,off指美国新请求的到达都会通知所以的worker进程,但只有一个进程可获得连接,造成“惊群”,影响性能

调试与定位:
1.daemon on | off
是否以守护进程方式运行nginx,默认为守护进程反式
2.master_process on|off
是否以master/worker模型运行nginx;默认为on
off将不启动worker
3.error_log file [level]
错误日志文件及级别;出于调试需要,可设定为dubug;但debug仅在编译时使用“–with-debug”选项才有效
方式:file /path/logfile;
stderr:发送到标准错误
syslog:server-adderss[,parmeter=values]:发送到syslog memory:size 内存
level:debug|info|notice|warn|error|crit|alter|emerg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值