错误

第一次探索nginx,执行以下命令时:

nginx -s reload

报出错误:

nginx: [error] invalid PID number "" in ...

*此时忽略掉了warn警告信息

排查

Step 1

baidu搜索了一众文章,大都是说执行:

nginx -c /etc/nginx/nginx.conf

*地址改成自己的(如,win10下,F:\install\nginx-1.16.1\logs\nginx.conf)

参考例:

而执行之后并没有解决


Step 2

执行 nginx -t 查看测试结果

发现 80 端口被占用的问题:

我们都知道,windows 10 上的 IIS 默认站点的默认端口即 80,

而我将它改为了 808,所以,

此时 80 端口占用问题,应该跟 IIS 没有关系。

Step 3

找到该问题一致的文章:

Nginx 错误10013: An attempt was made to access a socket in a way forbidden

方案是:

  • 找到占用该端口(80)的 PID(进程ID),
  • 在任务管理器中找到这个 PID 的进程,kill终止它

但是,不同的是,

netstat -aon | findstr ":80"

查找到的 80 端口占用 PID 为 4,

任务管理器中PID=4的进程为System,

也就是说,不能终止进程,方案行不通。

*并不是一个可以终止的进程,右键终止是不可用的状态

解决

最终解决是因为找到了【泡泡虾】的文章:

80端口被system占用解决过程

虽然该作者并不是在使用 nginx 的时候遇到的问题,

但本质和解决方法是一样的。

即:

开始菜单 -> services.msc -> 找到SQL Server Reporting Services`服务 -> 停止掉

  • Service名:ReportServer
  • 显示名:SQL Server Reporting Services (MSSQLSERVER)

此时,再检查一下端口情况 netstat -aon | findstr ":80"

已经没有 80 端口了。

执行nginx -t测试结果也通过了(successful)


但是,nginx -s reload还是一开始的错误,并没有解决。

再次启动nginx:

start nginx.exe

OK~

[nginx报错问题]reload时报错:nginx: [error] invalid PID number "" in ...的更多相关文章

  1. nginx重启报错:nginx: [error] invalid PID number "" in "/run/nginx.pid"

    问题描述:执行 nginx -t 是OK的,然而在执行 nginx -s reload 的时候报错 nginx: [error] invalid PID number “” in “/run/ngin ...

  2. Centos7.5中Nginx报错:nginx: [error] invalid PID number "" in "/run/nginx.pid" 解决方法

    服务器重启之后,执行 nginx -t 是OK的,然而在执行 nginx -s reload 的时候报错 nginx: [error] invalid PID number "" ...

  3. nginx: [error] invalid PID number "" in "/run/nginx.pid"

    在重启云主机(系统)之后,执行 nginx -t 是OK的,然而在执行 nginx -s reload 的时候报错 nginx: [error] invalid PID number “” in “/ ...

  4. nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"

    iwangzheng.com tty:[0] jobs:[0] cwd:[/opt/nginx/conf] 12:45 [root@a02.cmsapi]$ /usr/local/nginx/sbin ...

  5. nginx: [error] invalid PID number “” in “/usr/local/var/run/nginx/nginx.pid”

    在Mac上用brew安装Nginx,然后修改Nginx配置文件,再重启时报出如下错误: nginx: [error] invalid PID number "" in " ...

  6. 解决 nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"

    使用/usr/local/nginx/sbin/nginx -s reload 重新读取配置文件出错 [root@localhost nginx]/usr/local/nginx/sbin/nginx ...

  7. nginx: [error] invalid PID number "" in "/usr/local/webserver/nginx/logs/nginx.pid" (原)

    进入nginx文件下,例如 :/usr/local/nginx/sbin [root@iZ25f7emo7cZ /]# cd /usr/local/nginx/sbin 运行命令: [root@iZ2 ...

  8. nginxUbuntu安装Nginx和正确卸载Nginx Nginx相关 与Nginx报错:nginx: [error] invalid PID number "" in "/run/nginx.pid" 解决方法

    https://www.cnblogs.com/zhaoyingjie/p/6840616.html https://blog.csdn.net/adley_app/article/details/7 ...

  9. nginx: [error] invalid PID number "" in ...

    1.查看进程 ps -ef|grep nginx 2.进入nginx安装目录sbin下,执行命令: ./nginx -t 如下显示: syntax is ok test is successful 3 ...

随机推荐

  1. Redis为什么是单线程的

    一.前言   最近在学习Redis,这篇文章就来简单聊聊一道常考的面试题--Redis为什么是单线程的.废话不多说,直接开始吧. 二.正文 2.1 为什么需要多线程   首先,现在的CPU一般都是由多 ...

  2. Nginx编译与安装

    我的系统是CentOS-7,Nginx的源码可以在官网下载,网址为:http://nginx.org/en/download.html,我下载了目前的最新版本nginx-1.9.3.tar.gz 下载 ...

  3. ES[7.6.x]学习笔记(七)IK中文分词器

    在上一节中,我们给大家介绍了ES的分析器,我相信大家对ES的全文搜索已经有了深刻的印象.分析器包含3个部分:字符过滤器.分词器.分词过滤器.在上一节的例子,大家发现了,都是英文的例子,是吧?因为ES是 ...

  4. Three Blocks Palindrome (easy version)[暴力-预处理]

    给定一个数组,找出最长的子序列,满足 a,a,..a,b,b,..b,a,a,..a 前面的a和后面的a都要是x个,中间的b是y个. 其中,x>=0且y>=0. \(\color{Red} ...

  5. Constant Palindrome Sum(贪心*RMQ)

    传送门 怎么说呢,想了几个小时没做出来实在可惜. \(\color{Red}{首先肯定想到暴力嘛!但是x定值有那么多值可以取,怎么办呢?}\) 但是题目中有一个很关键的条件 \[a[i]>=1\ ...

  6. X Error:BadDrawable (individ Pixmap or Window parameter 9)

    #描述 平台:aarch64 系统:ubuntu16.04.02 Qt Version:4.8.7 Qt程序可以正常运行,界面渲染出现问题以及乱码,控制提示错误内容: "unable to ...

  7. 使用Optional,不再头疼NPE

    前言 在 Java 语言开发中,可能大多数程序员遇到最多的异常就是 NullPointException 空指针异常了.这个当初语言的开发者"仅仅因为这样实现起来更容易"而允许空引 ...

  8. 用js写一个贪吃蛇小游戏

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 2020年腾讯实习生C++面试题&持续更新中(2)

    2020年腾讯实习生C++面试题&持续更新中(2) hello,大家好~ 我是好好学习天天,天天编程的天天,一个每天都死磕技术,及时分享的技术宅~ 昨天分享的题目不知道大家是否看过了,以后我计 ...

  10. C#硬件开发业务流程调试技巧

    C#硬件开发,一种是调用厂家提供的api;另一种就是通过com口,发送命令,和硬件通信.这2种方法,如果有硬件,业务流程很好调试.但是大部分硬件,只有和客户联调才会有硬件调试的机会.那业务流程没有硬件 ...