当前位置:首页 > 教程 > 正文内容

停止nginx的命令(停止nginx服务)

2023-03-16 03:20:05教程1

停止nginx服务

网上也搜过好多方法大概是以下几种方法

1.添加防火墙;(由于价格太贵放弃了)

2.更换域名,发现被攻击后,立刻解析到其他域名上,把被攻击的域名停止解析(由于需要人工操作,且dns解析与停止不是实时的需要时间)

3.在nginx中拦截cc攻击

最终讨论方法是在nginx中拦截

下面说一下原理

由ios,android端 写一个对称加密算法且吧时间戳也加密进去;作为 user-agent 来访问 服务器的接口,然后在nginx中 去解密这个user-agent来检验这个加密字符串是否合法或者是否过期;如果是合法的则去调用php-fpm运行程序,如果不合法则直接返回403;

那么问题了来了 如何在nginx拦截cc攻击了,也就说如何在nginx中编程了,我一个php程序员肯定不会;这个时候需要引入一个lua控件;

单独安装lua插件太麻烦了,后来直接安装了 openresty 直接在openresty中 编写lua脚本,成功防御了cc攻击

停止nginx进程

刚安装的时候就是没有,其实在启动 nginx 时自动生成的 里面存放的是 当前 nginx 住进程的 ID 号;

所以在配置文件中指定pid

pid /usr/local/webserver/nginx/nginx.pid;

哇这个事情 搞了我好长时间,我以为我装的用问题;

nginx的结束重启一般是通过下面命令来实现的:

kill -QUIT 26000

其中26000是nginx的主进程号。

每次都需要通过ps命令来查询nginx的主进程号,非常麻烦。 在《实战nginx:取代Apache的高性能Web服务器》一书中提到了使用pid文件的方法,不巧的是给的命令漏了些东西,这里给出完整的指令。

pid文件就是一个纯文本文件,里面记录的是进程的pid号。

下面是一个pid文件的内容::26032

nginx的默认pid文件

nginx使用了pid文件来记录master process的pid号,如果编译时没有指定,那它的路径就是:

<prefix/logs/nginx.pid

其中<prefix是nginx的安装路径。

如果你想修改默认的pid文件路径,可以在编译时加入配置。参数如下::

./configure –-pid-path=/data/test/ngx.pid

指定后,默认的pid文件路径就更改为::

/data/test/ngx.pid

如果指定只是路径,没有pid的文件名,那么pid的文件名还是nginx.pid

通过配置文件修改pid

除了使用默认值和通过编译时修改外,还可以通过在nginx的配置文件中修改。如下:

pid /data/test/nginx.pid;

这里修改的值只对使用该配置文件的nginx有效。

用PID文件停止Nginx

假设pid文件路径为/data/logs/nginx.pid

kill –QUIT `cat /data/logs/nginx.pid`

用pid文件重新加载配置文件

nginx 停止服务

Linux关闭Nginx防火墙的命令是:

firewall-cmd --remove-port=80/tcp --permanent

firewall-cmd reload

systemctl restart firewalld.service

如何停止nginx

镠TTP访问控制模块(HTTP Access). 控制规则按照声明的顺序进行检查,首条匹配IP的访问规则将被启用。如下例: location / { deny 192.168.1.1; allow 192.168.1.0/24; allow 10.1.1.0/16; deny all;} 上面的例子中仅允许192.168.1.0/24和10.1.1.0/16网络段访问这个location字段,但192.168.1.1是个例外。 注意规则的匹配顺序,如果你使用过apache你可能会认为你可以随意控制规则的顺序并且他们能够正常的工作,但实际上不行,下面的这个例子将拒绝掉所有的连接: location / { #这里将永远输出403错误。deny all; #这些指令不会被启用,因为到达的连接在第一条已经被拒绝 deny 192.168.1.1;

停止nginx服务提示无进程

卸载教程如下:

1、通过ps -ef|grep nginx命令查到nginx的pid

(我的已经被我杀掉了,假设还有,pid为123456)

2、使用kill -9 123456杀掉进程(如果有多个pid可以直接用空格隔开写在后面就行)

3、使用find / -name nginx命令查找有关nginx的文件夹

4、使用rm -rf #路径#删除(比如rm -rf /www/server/panel/vhost/nginx),我这边太多了。。。我就直接开sftp删了

路径#删除(比如rm -rf /www/server/panel/vhost/nginx`),我这边太多了。。。我就直接开sftp删了

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98749629.html