Linux下重启NGINX(查看nginx是否启动)
开始
引导代码格式:nginx安装目录地址-c nginx配置文件地址
示例:
[root @ LinuxServer sbin]#/usr/local/nginx/sbin/nginx-c/usr/local/nginx/conf/nginx . conf
停止
有三种方法可以阻止nginx:
安静
1.检查流程编号。
[root @ LinuXSERVER ~]# PS-ef | grep nginx
2.终止进程
[root @ LinuxServer ~]# kill-QUIT 2072
快速停止
1.检查流程编号。
[root @ LinuXSERVER ~]# PS-ef | grep nginx
2.终止进程
[root @ LinuxServer ~]# kill-TERM 2132
或者[root @ Linux服务器~] # kill-int2132
强制停止
[root @ LinuXSERVER ~]# PKI ll-9 nginx
重新开始
1.验证nginx配置文件是否正确。
方法1:进入nginx安装目录sbin,输入命令。/nginx -t
看到以下显示nginx.conf语法正常。
nginx.conf测试成功
说明配置文件是正确的!
方法二:开始命令前加-t-c。
2.重新启动Nginx服务
方法1:输入nginx可执行目录sbin并输入命令。/nginx -s重新加载。
方法二:找到当前nginx进程号,然后输入命令:kill -HUP进程号重启nginx服务。
Nginx 的整体架构
Nginx中有一个主进程和多个工作进程。主进程不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程、不停升级。工作进程负责处理网络请求和响应。
主流程主要用于管理工人流程,包括以下四个主要功能:
接收外部信号。
向每个工作进程发送信号。
监控woker进程的运行状态。
当woker进程退出时(异常情况下),会自动重启新的woker进程。
Woker进程主要用于处理基本的网络事件:
多个工作进程是对等且相互独立的,它们平等地竞争来自客户端的请求。
一个请求只能在一个工作进程中处理,一个工作进程不能处理其他进程的请求。
可以设置工作进程的数量,这通常与机器的cpu内核数量一致。同时,为了更好地利用多核特性,nginx有cpu绑定的选项,我们可以将某个进程绑定到某个内核,这样缓存就不会因为进程切换而失败。
Ngnix如何实现高性能?
事件驱动模型
基于异步和无阻塞的事件驱动模型可以说是Nginx实现高并发和高性能的关键因素。在这方面,它类似于Netty,底层是BSD kqueue、Linux epoll和Solaris事件端口。
多进程机制
使用多进程有两个优点:
进程不共享资源,不需要被锁定,减少了锁定对性能的影响,同时降低了编程的复杂度和开发成本。
通过采用独立的流程,这些流程不会相互影响。如果一个进程异常退出,其他进程正常工作,主进程会快速启动一个新的工作进程,以确保服务不会中断,从而将风险降到最低。
内存池
为了避免内存碎片,减少对操作系统的内存应用数量,降低各个模块的开发复杂度,Nginx设计了一个简单的内存池,其主要功能是将多个对系统的内存应用集成到一个操作中,大大降低了CPU资源的消耗和内存碎片。
模块化设计
高度模块化的设计是Nginx的架构基础。Openresty在Nginx上引入了lua等第三方模块,使得扩展更加方便。
材料