nginx简单介绍

nginx,负载均衡处理图

 

 

nginx简单介绍

nginx特点:占用内存小,并发能力强。
nginx组成:由内核和模块组成
    内核工作方式比较简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location block是nginx配置中的一个指令,用于匹配url配置,也就是做路由的),location 中所配置的每个指令会启动不同的模块去完成相应的工作
nginx的模块从结构上分为核心模块,基础模块和第三方模块
    核心模块:HTTP模块、EVENT模块和MAIL模块
    基础模块:http access模块,http fastcgi模块,http proxy模块和http rewrite模块
    第三方模块:http upstream request hash模块、notice模块和http access key模块
nginx的优点:
1.高并发响应性能非常好,nginx处理静态文件并发5w/s
2.反向代理性能非常(常用于负载均衡)
3.内存和CPU占用率低。(和apache相比,仅是apache的1/5或1/10)
4.对后端服务节点有检查功能
5.配置代码简洁容易上手
6.支持php cgi方式和fastcgi方式(是一种协议)
//注释
ngnix高并发是由于采用了epoll模型,异步非阻塞,apache用的是select模型;
select的特点:对于句柄事件的选择是遍历的,有事件响应时select需要遍历所有句柄,才能找到是哪个句柄有事件通知,效率比较低;
epoll的特点:对句柄事件不是遍历的,是事件响应的,有事件来就马上选择出来,epoll不会遍历整个句柄链表,效率比较高。
Nginx有一个主进程和几个工作进程,主进程的主要作用就是读取、评估配置文件和管理工作进程,工作进程对请求做实际处理。工作进程的数量是在配置文件中配置的,一般设置为cpu的核心数*线程数。
nginx基本操作命令
查看nginx进程
 ps -ef|grep nginx        ngnix的进程由主进程和工作进程组成
启动nginx
 nginx
/usr/local/nginx/sbin/nginx    启动结果显示ngnix的主线程和工作线程,工作线程的数量和ngnix.conf中的配置参数worker_processes有关
平滑启动nginx(重新加载配置文件)
nginx -s reload  
kill -HUP 主进程号      查找主进程号:ps -ef |grep nginx|grep master
平滑启动就是在不停止nginx的情况下,重启ngnix,重新加载配置文件,启动新的工作线程,完美停止旧的工作线程。
//为了让主进程重新读取配置文件,应该向主进程发送一个HUP信号,主进程一旦接收到重新加载配置的的信号,它就检查配置文件语法的有效性,然后试图应用新的配置,即打开新的日志文件和新的socket 监听,如果失败,它将回滚配置更改并继续使用旧的配置,如果成功了,它开启新的工作进程,并给旧的工作进程发消息让它们优雅的关闭,旧的工作进程接收到关闭信号后,不再接收新的请求,如果已有请求正在处理,等当前请求处理完毕后关闭,如果没有请求正在处理,则直接关闭。
当多个人使用同一个nginx时,不用担心会影响别人使用,因为自己填写的配置有问题,就会回滚至之前的状态。
停止nginx
nginx -s quit  优雅关闭(不接受新的连接请求,等待旧的连接请求处理完毕再关闭)
nginx -s stop       pkill nginx
检查nginx.conf文件的修改是否正确
nginx -t -c /etc/nginx/nginx.conf                     nginx -t  


posted @ 2019-09-29 18:50  默晓梦  阅读(148)  评论(0编辑  收藏  举报