zoukankan      html  css  js  c++  java
  • Windows系统非正常关机nginx报错:nginx: [error] OpenEvent("Global gx_stop_20448") failed (2: The system cannot find the file specified)

    我遇见的问题较多,前面是处理过程,后面是解决方案

    昨天电脑自动关机了,而nginx并没有关机。

    早上我输入停止nginx命令,报错

    D:	ools
    ginx-1.8.0>nginx -s stop
    nginx: [error] OpenEvent("Global
    gx_stop_20448") failed (2: The system cannot find the file specified)

    系统找不到指定的文件,那我就启动nginx

    D:	ools
    ginx-1.8.0>nginx.exe
    nginx: [emerg] bind() to 0.0.0.0:9001 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)

    试图以其访问权限禁止的方式访问套接字,有人说这个是9001端口被占用了

    尝试杀死PID 9001端口

    D:	ools
    ginx-1.8.0>taskkill  /f  /pid 9001
    错误: 没有找到进程 "9001"。

    提示没有这个进程,意思是9001端口没有被占用

    任务管理器PID中没有9001

    查看机器端口占用情况

    D:	ools
    ginx-1.8.0>netstat -ano

    活动连接

    协议    本地地址                 外部地址                状态              PID
    TCP    0.0.0.0:25             0.0.0.0:0              LISTENING       12916

    .........

    TCP    0.0.0.0:9001           0.0.0.0:0              LISTENING       4

    .........

    提示PID为4

    查看指定端口情况

    D:	ools
    ginx-1.8.0>netstat -ano | findstr "9001"
      TCP    0.0.0.0:9001           0.0.0.0:0              LISTENING       4
      TCP    [::]:9001              [::]:0                 LISTENING       4
    C:Usersoor>netstat -ano | findstr 0.0.0.0:9001
      TCP    0.0.0.0:9001           0.0.0.0:0              LISTENING       4

    提示TCP端口为9001

    尝试杀死TCP 9001端口

    D:	ools
    ginx-1.8.0>sudo fuser -k 9001/tcp
    'sudo' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。

    都不对,到此有点糊涂了,所以换一种方式

    使用netsh命令查看下现用的http端口配置

    查看HTTP 服务状态快照(服务器会话视图):

    D: ools ginx-1.8.0>netsh http show servicestate

    HTTP 服务状态快照(服务器会话视图):
    -----------------------------------------------------

    服务器会话 ID: FF00000120000001
    版本: 2.0
    状态: Active
    属性:
    最大带宽: 4294967295
    超时:
    实体正文超时(秒): 120
    耗尽实体正文超时(秒): 120
    请求队列超时(秒): 120
    空闲连接超时(秒): 120
    标头等待超时(秒): 120
    最小发送速率(字节/秒): 150
    URL 组:
    URL 组 ID: FE00000140000001
    状态: Active
    请求队列名称: 请求队列尚未命名。
    属性:
    最大带宽: 已继承
    最大连接数: 已继承
    超时:
    继承的超时值
    已注册的 URL 数目: 1
    已注册的 URL 数目:
    HTTP://+:9001/IGCC/SERVICE/

    请求队列:
    请求队列名称: 请求队列尚未命名。
    版本: 2.0
    状态: Active
    请求队列 503 详细级别: 基本
    最大请求数目: 1000
    附加活动进程数目: 1
    进程 ID:
    4908

    果真找到了PID:4908

     看到上图的结果,恍然大悟!如果大家不确定那是一个什么进程,我们对它右键 - 打开文件所在位置

    最后去任务管理器结束任务

    查看当前 9001 端口占用情况

    D:	ools
    ginx-1.8.0>netstat -ano | findstr 0.0.0.0:9001
    
    D:	ools
    ginx-1.8.0>

    启动nginx 成功了

     

    再次重启电脑 启动nginx 失败了

    D:	ools
    ginx-1.8.0>nginx.exe
    nginx: [emerg] bind() to 0.0.0.0:9001 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)

    使用netsh命令查看下现用的http端口配置

    C:Usersoor>netsh http show servicestate
    
    HTTP 服务状态快照(服务器会话视图):
    -----------------------------------------------------
    
    服务器会话 ID: FF00000520000001
        版本: 2.0
        状态: Active
        属性:
            最大带宽: 4294967295
            超时:
                实体正文超时(秒): 120
                耗尽实体正文超时(秒): 120
                请求队列超时(秒): 120
                空闲连接超时(秒): 120
                标头等待超时(秒): 120
                最小发送速率(字节/秒): 150
        URL 组:
        URL 组 ID: FF00000340000001
            状态: Active
            请求队列名称: 请求队列尚未命名。
            属性:
                最大带宽: 已继承
                最大连接数: 已继承
                超时:
                    继承的超时值
                已注册的 URL 数目: 1
                已注册的 URL 数目:
                    HTTP://+:9001/IGCC/SERVICE/
    
    服务器会话 ID: FE00000320000001
        版本: 2.0
        状态: Active
        属性:
            最大带宽: 4294967295
            超时:
                实体正文超时(秒): 120
                耗尽实体正文超时(秒): 120
                请求队列超时(秒): 120
                空闲连接超时(秒): 120
                标头等待超时(秒): 120
                最小发送速率(字节/秒): 150
        URL 组:
        URL 组 ID: FD00000340000001
            状态: Active
            请求队列名称: 请求队列尚未命名。
            属性:
                最大带宽: 已继承
                最大连接数: 已继承
                超时:
                    继承的超时值
                已注册的 URL 数目: 1
                已注册的 URL 数目:
                    HTTP://*:5357/FF8A2E73-5DEE-4C79-926C-7D4EE1425F13/
    
    请求队列:
        请求队列名称: 请求队列尚未命名。
            版本: 2.0
            状态: Active
            请求队列 503 详细级别: 基本
            最大请求数目: 1000
            附加活动进程数目: 1
            进程 ID:
                4700
    
        请求队列名称: 请求队列尚未命名。
            版本: 2.0
            状态: Active
            请求队列 503 详细级别: 基本
            最大请求数目: 1000
            附加活动进程数目: 1
            进程 ID:
                12320

    由于重开机多次了,都是这个问题,我真想重新安装nginx,够头疼一会儿的了

    已注册的 URL 数目:
                    HTTP://*:5357/FF8A2E73-5DEE-4C79-926C-7D4EE1425F13/
    

     这个又是什么鬼?

    问题描述:

      端口被系统system,pid[4] 占用的,无法使用两步走的传统常用命令解决,即:

      netstat -ano|findstr "端口号"
      taskkill /pid [查询的pid] -F

    C:Usersoor>netstat -ano|findstr "9001"
      TCP    0.0.0.0:9001           0.0.0.0:0              LISTENING       4
      TCP    [::]:9001              [::]:0                 LISTENING       4
    
    C:Usersoor>netstat -ano|findstr "5357"
      TCP    0.0.0.0:5357           0.0.0.0:0              LISTENING       4
      TCP    [::]:5357              [::]:0                 LISTENING       4
    
    C:Usersoor>taskkill /pid [4] -F
    错误: 没有找到进程 "[4]"。

    输入 tasklist|findstr "pid" 查看占用端口号的应用程序

    C:Usersoor>tasklist|findstr "4700"
    OneApp.IGCC.WinService.ex     4700 Services                   0     36,380 K
    
    C:Usersoor>tasklist|findstr "12320"
    svchost.exe                  12320 Services                   0      9,736 K

    打开config文件

     

    有人博主说更改端口号有效,后来证明也无效

     最后我拧不过它了,直接更改nginx端口号

     把端口号9001更改为9101

    启动nginx多次,证明有效

    更改前端URL配置

     如果不改就会报错

    errError: Network Error

    保存并执行

    npm run dev

    成功了

     参考博文【解决了我的部分问题】

    Windows 下 80 端口被进程 System & PID=4 占用的解决方法

  • 相关阅读:
    hibernate缓存清除(转)
    hibernate缓存
    hibernate延迟加载
    session进行增删改查操作
    curl命令详解
    CURL 宏定义列表
    CURL常用命令---样例
    打印 上一主题 下一主题 利用cURL实现单个文件分多段同时下载,支持断点续传(修订版)
    curl断点续载
    CURL常用命令
  • 原文地址:https://www.cnblogs.com/ooo888ooo/p/13511458.html
Copyright © 2011-2022 走看看