Nginx基本命令及进程模块概述

一、nginx基本命令

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
命令含义
nginx直接启动
nginx -v查看版本信息
nginx -V查看编译信息
nginx -t/T测试配置文件是否存在语法错误
nginx -s向正在运行的服务发送信号
nginx -s stop向正在运行的服务发送停止信号,立即停止
nginx -s quit发送停止信号,不会新接受但会处理完已经接受的服务
nginx -s reload在不停止Nginx的情况下重载服务,避免因重启造成的服务中断

在这里插入图片描述

二、nginx模块。配置指令,块之间的关系
1、自定义location

location /demo{

                root /opt;			#文档根目录为/opt
                index index.html index.htm;

                        }

/demo/a.jpg====/opt/demo/a.jpg #可以省略根目录
http://172.25.1.1//demo/a.jpg====http://172.25.1.1/opt/demo/a.jpg

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以将location中公共部分写在前面的公共部分,如果有冲突自己的优先级高于公共部分

三、nginx进程概述

[root@server1 conf]# ps -ef | grep nginx | grep -v grep
root     17079     1  0 04:06 ?        00:00:00 nginx: master process nginx
nobody   17089 17079  0 04:29 ?        00:00:00 nginx: worker process

在这里插入图片描述
1、nobody源码编译当前系统没有Nginx用户,只能另一个进程用nobody,但是安全性不好。
user nginx;
新建用户在配置文件重更改
2、默认情况下worker进程以nobody身份运行,可以使用“user”指令指定nginx用户身份运行
3、nginx启动时,有两个进程,一个masker进程(读取配置文件,管理worker进程)(只能有一个),一个worker进程(负责处理请求的进程)(可以有多个)。
worker_processes指令更改worker数量。通常不会大与cpu核心数。设为auto时会自动设置为cpu核心数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
worker_cpu_affinity指令;让worker进程与某个cpu绑定。cpu掩码:0000
0001 0010 0100 1000
在这里插入图片描述
在这里插入图片描述
四、nginx:root指令和alias指令区别
root和alias指令都能将url和服务器中某个具体的目录对应起来。但是之间存在一些区别。
1、

location /demo {
	root /opt/test
}

实际上访问的时/opt/test/demo/a.jpg,输入的是/demo/a.jpg

location /demo {
	alias /opt/test
}

实际上访问的时/opt/test/a.jpg,输入的是/demo/a.jpg,完全对等的。

2、能够处于的上下文的位置和不同。
alias只能在location中使用,root不然。
五、nginx:漫谈5种io模型
用户进程中的完整的IO分为两个阶段:
用户进程空间-内核空间,内核空间-设备空间。无法直接操作IO进程。

5种IO模型分为阻塞IO模型、非阻塞IO模型、IO复用模型、信号驱动的IO模型、异步IO模型。

(1)、阻塞IO模型
进程发起IO系统调用后,进程被阻塞,转到内核空间,处理完毕后返回进程,操作成功后进程取到数据。
在数据来临之前一直在等待。

(2)、非阻塞IO模型
进程发起IO系统调用后,内核数据没有准备好返回一个错误,不影响干其他,但是需要不断询问。加重cpu压力。

(3)、IO复用模型
多个进程注册到一个复用器中,select会帮监听所有注册的IO。解放等待数据的过程。
select:最多监听不能多于FD_SIZE=1024
poll:原理和select相似,没有数量限制。但是数量大,线性扫描性能下降,不知道数据主人,需要轮循找。
epoll:事件驱动不阻塞,mmap实现内核与用户空间的消息传递。数据量大,不需要轮循找人。

(4)、信号驱动的IO模型
当进程发起一个IO操作,会向内核注册一个信号处理函数,然后进程返回不阻塞,当内核数据就绪会发送信息给进程,在读取。不需要中间商。

(5)、异步IO模型
当进程发起一个IO操作,进程返回(非阻塞),但没有结果,内核处理完io后,会通知进程结果,如果操作成功直接去的数据。(直接送货上门)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值