nginx怎么启动和关闭(nginx开启关闭)

发布时间: 9/27/2023 1:50:48 PM 来源: 笑看人生

Nginx配置文件详解以及Nginx的启停控制,这里是精华

安装完成Nginx服务器之后我们需要来学习如何启动,停止,重启Nginx服务。在Linux平台下有着不止一种的控制Nginx启停的方法 下面我们来详细的学习一下。

Nginx的信号控制

在控制nginx中有一类是通过信号控制的,因此我们来先介绍一下Nginx服务器的信号控制.

在nginx服务运行时,会保持一个主进程和多个worker process 工作进程, 我们可以通过给主进程发送信号,就可以控制服务的启停了,那么我们如何去给服务发送信号?发送信号我们必须要知道服务的PID, 那么我们就来获取一下他的进程ID

第一种直接利用ps 查看详情 :

第二种 我们直接查看文件存储地址查看: 此操作需要先开启pid的存储才可以生效

找到我们的pid之后那么可以开始我们下一步的操作 再开始之前先了解一下可以接受的信号有哪些,各自有什么含义

向Nginx服务进程发送信号也有两种方式:

同样我我们可以使用动态的PID

kill 信号 filepath (filepath指的是我们的Nginx.PID的路径)

nginx服务的启动

在linux平台下,启动Nginx服务器直接运行安装目录下的Sbin目录中的二进制文件即可.

具体命令在sbin目录下:

这里主要讲下二进制文件的用法这是我们工作中常常用到的一些指令

nginx服务停止

停止我们的Nginx有两种方式

**Nginx服务的重启 **

当我们Nginx服务加入新的模块后,如果希望当前的Nginx服务应用新的配置或者使用新的模块生效,就需要重启Nginx服务。当然我们可以先关闭Nginx服务然后使用新的Nginx配置文件重启Nginx服务, 这里我们讲的 是平滑的重启Nginx服务

平滑是重启的一个过程,Nginx服务进程收到信号后先读取我们新的配置文件,如果我们新的配置文件正常,那么启动新的Nginx服务,然后平滑的关闭旧的进程服务,如果新的Nginx服务配置文件有问题那么将显示错误然后任然使用旧的Nginx

使用以下命令可以做到Nginx的平滑重启

Nginx服务的升级

如果我们需要对当前的Nginx服务进行升级 ,应用新的模块,最简单的方式是停下来,然后开启新的Nginx服务,那么给我们的用户体验是非常差的,会导致用户在一段时间内无法访问我们的服务器为了解决这个问题,Nginx提供了平滑升级的方案

过程如下:

注意:

为了实现nginx服务器的平滑升级,新安装的服务器路径应该和旧的一致。因此建议用新安装的服务器之前先备份一下我们的旧nginx服务器,如果由于种种原因不能保持新旧客户端路径一致则可以做一下操作,将旧的服务器路径更改为新的路径,新的服务器放入旧的路径中

执行过程

Nginx服务接受到USR2的信号后,首先将旧的Nginx。pid文件后面添加一个.oldbin

变成了,nginx.pid.oldbin 然后执行新版本的Nginx服务器的二进制文件启动服务,如果启动成功那么我们将会有两个Nginx服务在提供服务

之后需要向旧的发送WINCH信号,使旧的nginx服务平缓的停止并删除

nginx.pid.oldbin文件 在发送WINCH信号前我们可以随时停止新的服务

从目录中我们不难看出所有的配置文件都放在conf目录下主要的配置文件为 Nginx.conf

那么下面我们带领你来去详细的解读一下其中的配置详情

注:近期持续更新有关nginx的知识点,欢迎大家关注!

修改了nginx配置后重启不了

nginx 修改后重启失败

技术标签: contes 运维

通常我们正常启动nginx 都没有问题,但是在正式环境中 如果我们突然kill掉nginx进程,那么是kill不掉的且修改后重启失败,那么使用 lsof -n | grep deleted 命令找到 在次kill 掉 就可以重新启动nginx了 ...

查看原文

nginx指定配置文件启动

第一步:先关闭nginx, kill掉所有的nginx进程 第二步: 指定nginx的启动配置文件,要写完整路径 第三步:重启nginx

nginx怎么启动和关闭(nginx开启关闭)

Linux Nginx服务器 平滑升级和回退

不打断用户的请求下更新版本。 通过上文我们已经知道worker进程负责处理具体的请求,那么如果想达到热部署的效果,Nginx可以修改配置文件nginx.conf后,重新生成新的worker进程,当然会... nginx版本更新失败之后的回滚 假如我们刚才更新失败,要回到原来nginx/1.15.9的版本 1)还原nginx脚本 2)kill -HUP 旧版本的master进程PID,重新唤起旧版本的

nginx.conf不生效,启动一直进入Welcome to nginx on EPEL!页面

一下,执行命令:lsof -i :80 可以看到80端口被多个nginx占用了,把它们全部kill掉,执行命令:killall -9 nginx,然后再查看80端口的情况,全都没了。 5、启动...版本:CentOS6.8 Django2.1 nginx1.10.2 我的nginx.conf中server设置是这样的 用浏览器进入127.0.0.1,一直显示这个页面 原因: nginx下有两个

mac nginx安装和配置,常用命令。

stop :快速停止nginx quit :完整有序的停止nginx kill -QUIT 主进程号 :从容停止Nginx kill -TERM 主进程号 :快速停止Nginx pkill -9 nginx :强制停止Nginx 启动nginx: nginx -c /path/to/nginx.conf 平滑重启nginx: kill -HUP 主进程号

centos6.5安装源码安装nginx

reload 当nginx的配置文件nginx.conf修改后,要想让配置生效需要重启nginx,使用-s reload不用先停止nginx再启动nginx即可将配置信息在nginx中生效。 六:测试 打开...): cd /usr/local/nginx/sbin ./nginx -s quit 此方式停止步骤是待nginx进程处理任务完毕进行停止。 五:重启nginx 方式1,先停止再启动(建议使用

智能推荐

Nginx的启动、关闭、重启、Nginx升级、关闭旧进程

Nginx的启动、关闭、重启、日志分割、Nginx升级、关闭旧进程 Nginx的启动主要是通过sbin目录下的nginx二进制文件进行启动,但是重启和关闭就没有对应的二进制文件可以操作,这样就需要用到Linux中的信号量,具体存在哪些信号量可以参考Nginx官方文档,常用的信号量有 启动Nginx,直接运行sbin下的二进制文件 ./sbin/nginx 关闭Nginx,使用的语法 kill 信号...

Nginx 重启和重载配置(平滑重启)

Nginx Nginx进程分为master主进程和worker工作进程。master进程通过信号通知worker进程执行工作。 命令 sudo nginx -s reload 重载配置(平滑重启) sudo service nginx restart 重启 我们先看看没有请求的情况下,操作以上命令在服务器上展示的结果。 很明显的可以看到,当 nginx reload 的时候 master 进程ID...

Nginx安装后,nginx.conf 配置文件稍加修改.

Nginx安装完后。 1. 在目录 /usr/local/nginx/conf/ 新建一个 vhosts目录。用于存放开发程序项目的配置文件。 2. 打开 /usr/local/nginx/conf/ 目录下的 nginx.conf。 添加内容: #开启gzip压缩; gzip on; gzip_min_...

目标检测的图像特征提取之(三)Haar特征

原文链接:目标检测的图像特征提取之(三)Haar特征 目标检测的图像特征提取之(三)Haar特征 1、Haar-like特征 Haar-like特征最早是由Papageorgiou等应用于人脸表示,Viola和Jones在此基础上,使用3种类型4种形式的特征。 Haar特征分为三类:边缘特征、线性特征、中心特征和对角线特征,...

网校教育平台搭建,教育系统源码,教育软件源码

如今只是付费已经被大众所接受,网校教育平台的搭建,也受到关注,教育平台搭建支持音频、视频等多种内容形式,供想要学习新技能的人选择,从个性化功能、多样性的内容表现形式、海量知识类型(除学校教育外,知识技能、说话技巧等各种各样的知识类型)等来覆盖更多用户,满足教育领域细分化需求。 教育机构选择在线网校平台搭建,可以从以下几个方面进行考虑: 1、在线教育系统搭建一定要稳定安全,让学员可以随时随地地学习,...

猜你喜欢

海思驱动开发:海思平台IO驱动移植

海思采用设备树描述初始化驱动,本文编写基于IO应用的led驱动移植海思平台所做改动,作为后续移植参考。 一、基于IO应用的led驱动编译 直接编译linux内核旧版本的基于IO引用的led驱动源文件发现编译不过,这是因为海思编译器检测到函数指针与指向函数不匹配造成的,修改相应函数的参数以...

Error Message - 400 File is not contained in a resource root

Created by Jerry Wang, last modified on Aug 25, 2015 The following error message occurs: 该error在line 40报出: 错误根源在于UI5 ABAP repository handler里检测到WebIDE project下有一个针对Eclipse的配置文件: 从配置文件里读取到source file的r...

2021年Java开发者跳槽指南,java个人简历模板PPT

正文 这次写一下springboot与redis的结合,这里使用的是redis集群模式(主从),主从环境的搭建,请参考redis集群搭建 搭建完redis集群环境后,开始springboot之旅 1、REDIS介绍 redis的介绍及应用场景参考 redis介绍 2、项目构建 我们还是从redis项目构建开始说起,首先还是进入的spring官网, 从这里开始构建项目,如下图 当然也可以自己添加po...

在项目中集成定时任务--->Quartz

1、在Maven工程的/src/main/resources目录下创建文件spring-quartz.xml;spring-quartz.xml中的内容如下:

(3)nginx的配置文件是conf目录下的nginx.conf,默认配置的nginx监听的端口为80,如果80端口被占用可以修改为未被占用的端口即可

检查80端口是否被占用的命令是: netstat -ano | findstr 0.0.0.0:80 或netstat -ano | findstr "80"

当我们修改了nginx的配置文件nginx.conf 时,不需要关闭nginx后重新启动nginx,只需要执行命令 nginx -s reload 即可让改动生效

三.关闭nginx

如果使用cmd命令窗口启动nginx,关闭cmd窗口是不能结束nginx进程的,可使用两种方法关闭nginx

(1)输入nginx命令 nginx -s stop(快速停止nginx) 或 nginx -s quit(完整有序的停止nginx)

(2)使用taskkill /f /t /im nginx.exe

nginx启动,重启,重新加载,以及前缀路径设置

命令行里对nginx操作都需要运行nginx安装目录下的 sbin/nginx,默认会放在 /usr/local/openresty/nginx/sbin 目录下,如果不是openresty里装的nginx,应该就是没有openresty这一层目录的位置

这个路径比较长,所以一般会把它配在环境变量里

之后就可以在任意目录下直接使用nginx命令了,但是这种方法在关闭窗口后就没有用了。

修改环境变量有多种方法,这里贴个别的博客的 链接 ,写的比较详细

我这里使用了修改/etc/profile的方法,修改后,重启,对所有用户都生效

但是一般来说,我们肯定是需要启动我们自己编写的nginx.conf,所以需要在启动的时候指定nginx.conf的位置

这样写的话必须写绝对路径,写相对路径会被拼接到/usr/local/。。。的nginx默认路径后面去,肯定就找不到nginx.conf了,就报错了。同时在nginx.conf文件中的一些东西也必须写绝对路径,例如我写个content_by_lua_file,后面的路径也不能是相对路径

这是因为没有指定前缀路径,就会使用默认的前缀路径,导致所有相对路径都出现问题,通过 -p指定路径,这样就可以愉快地写相对路径啦

修改了文件后,需要让nginx加载这些修改了的信息,可以通过重启nginx的方式,但是nginx也可以不重启,直接重新加载这些内容

当然也可以查找nginx的进程号,再用kill 指令向它发送消息,实现让它停止,重启,重加载等等。

nginx怎么启动平滑重启关闭

假设你的nginx的目录是:/usr/opt/nginx/sbin/nginx 假设nginx的目录是: /usr/opt/nginx/conf/ 重启的方法是:/usr/opt/nginx/sbin/nginx -c /usr/opt/nginx/conf/ 参数-c 指定了配置文件的路径,如果不指定该参数,则nginx会默认加载其按照目录的conf目录下的nginx.conf. 平滑重启: 1、检查修改后的配置文件是否正确: /usr/opt/nginx/sbin/nginx -t -c /usr/opt/nginx/conf/ 2、kill -HUP Nginx主进程号。示例如下: kill -HUP `cat/usr/local/webserver/nginx/logs/nginx.pid`主要参数介绍如下:-c 为Nginx 指定一个配置文件,来代替缺省的。-t 不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。

centos7 下 nginx 启动,关闭,重启配置

打开这个教程: EA82.COM

启动 nginx

systemctl start nginx

一旦 nginx 启动后,就可以用nginx -s signal 命令来接管

快速关闭 nginx

nginx -s stop

平滑的关闭 nginx

nginx -s quit

重启 nginx

nginx -s reload

分割日志

nginx -s reopen

nginx怎么启动和关闭(nginx开启关闭)

nginx 的工作原理

nginx 有一个 master 进程(老板)和多个 worker 进程(工人),master 进程负责阅读和评估配置,给 worker 进程提供保障,worker 进程实际处理请求。

nginx -s reload 命令加载修改后的配置文件, 命令下达后发生如下事件

Nginx 的 master 进程检查配置文件的正确性,若是错误则返回错误信息,nginx 继续采用原配置文件进行工作(因为 worker 未受到影响)

Nginx 启动新的 worker 进程,采用新的配置文件

nginx怎么启动和关闭(nginx开启关闭)

Nginx 将新的请求分配新的 worker 进程

Nginx 等待以前的 worker 进程的全部请求已经都返回后,关闭相关 worker 进程

重复上面过程,直到全部旧的 worker 进程都被关闭掉。

nginx -s quit命令关闭 nginx 服务时,nginx 服务要等待工作进程将当前请求处理完才关闭。

也可以用 kill 命令杀死指定进程号的 nginx 进程

先通过 /var/run/nginx.pid 文件查看 nginx master 进程进程 id,

或者通过ps -ax|grep nginx查看进程

在使用kill -s quit 进程号 杀死进程

相关推荐