启动

启动代码格式: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


linux中nginx重新启动(Linux常用命令------启动)(1)

2、杀死进程

[root@LinuxServer ~]# kill -QUIT 2072


linux中nginx重新启动(Linux常用命令------启动)(2)

  • 快速停止
  • 1、查看进程号

    [root@LinuxServer ~]# ps -ef|grep nginx


    linux中nginx重新启动(Linux常用命令------启动)(3)

    2、杀死进程

    [root@LinuxServer ~]# kill -TERM 2132

    或 [root@LinuxServer ~]# kill -INT 2132


    linux中nginx重新启动(Linux常用命令------启动)(4)

    强制停止

    [root@LinuxServer ~]# pkill -9 nginx

    重启

    1、验证nginx配置文件是否正确

    方法一:进入nginx安装目录sbin下,输入命令./nginx -t

    看到如下显示nginx.conf syntax is ok

    nginx.conf test is successful

    说明配置文件正确!

    linux中nginx重新启动(Linux常用命令------启动)(5)

    方法二:在启动命令-c前加-t

    2、重启Nginx服务

    方法一:进入nginx可执行目录sbin下,输入命令./nginx -s reload 即可


    linux中nginx重新启动(Linux常用命令------启动)(6)

    方法二:查找当前nginx进程号,然后输入命令:kill -HUP 进程号 实现重启nginx服务


    linux中nginx重新启动(Linux常用命令------启动)(7)

    Nginx 的整体架构



    linux中nginx重新启动(Linux常用命令------启动)(8)

    Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处理网络请求与响应。

    master进程主要用来管理worker进程,具体包括如下4个主要功能:

    接收来自外界的信号。

    向各worker进程发送信号。

    监控woker进程的运行状态。

    当woker进程退出后(异常情况下),会自动重新启动新的woker进程。

    woker进程主要用来处理基本的网络事件:

    多个worker进程之间是对等且相互独立的,他们同等竞争来自客户端的请求。

    一个请求,只可能在一个worker进程中处理,一个worker进程,不可能处理其它进程的请求。

    worker进程的个数是可以设置的,一般我们会设置与机器cpu核数一致。同时,nginx为了更好的利用多核特性,具有cpu绑定选项,我们可以将某一个进程绑定在某一个核上,这样就不会因为进程的切换带来cache的失效。

    Ngnix 是如何实现高性能的?

    事件驱动模型

    基于异步及非阻塞的事件驱动模型,可以说是 Nginx 得以获得高并发、高性能的关键因素。这一点上和 Netty 类似,底层都是使用的 BSD kqueue、Linux epoll 及 Solaris event ports。

    多进程机制

    使用多进程的好处有两点:

    进程之间不共享资源,不需要加锁,减少了使用锁对性能造成的影响,同时降低编程的复杂度,降低开发成本。

    采用独立的进程,可以让进程互相之间不会影响,如果一个进程发生异常退出时,其它进程正常工作,master 进程则很快启动新的 worker 进程,确保服务不会中断,从而将风险降到最低。

    内存池

    为了避免出现内存碎片,减少向操作系统申请内存的次数、降低各个模块的开发复杂度,Nginx 设计了简单的内存池,它的作用主要是把多次向系统申请内存的操作整合成一次,这大大减少了 CPU 资源的消耗,同时减少了内存碎片。

    模块化设计

    高度模块化的设计是 Nginx 的架构基础。Openresty 就是在 Nginx 上引入了 lua 等第三方模块,使得扩展更加方便了。

    资料

    linux中nginx重新启动(Linux常用命令------启动)(9)

    资料内容包括:C/C ,Linux,golang,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,嵌入式 等。。。后台私信;资料;两个字可以免费领取,