A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 舞出我人生 于 2019-1-22 15:03 编辑

前言:      
     在项目中用到nginx,启动时闪退,查看错误日志,给出的错误如下:
     nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was made to access  a socket in a way forbidden by its access permissions)
分析:
     nginx的默认端口是80,通过错误日志可以看出是80端口被占用导致了nginx无法启动。
解决办法:
   1、按键win+R打开运行界面,输入cmd进入控制台界面
   2、输入netstat -ano | findstr ":80 "
     通过上述命令查看80端口占用情况,查看后,pid的值为4。
      

   3、输入tasklist /fi "PID eq 4"
     通过上述命令查看4所对应的服务名称,为System

        
   4、在运行中输入regedit打开注册表编辑器
     

  5、找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP
      

  6、找到Start,右键修改将其制改为4。
   

  7、重新启动系统,System进程就不会占用80端口,nginx就可以正常启动。

    可以通过步骤2查看80端口占用情况8、再次启动nginx,可以正常启动,可以在任务管理器中查看到nginx的进程
   

总结:

        这次的nginx启动闪退是由于System占用了80端口所导致的,通过修改注册表编辑器中HTTP下Start所对应的值来释放System所占用的80端口。从而是nginx启动正常。







1 个回复

倒序浏览
一个人一座城0.0 来自手机 中级黑马 2019-1-23 08:48:36
沙发
看一看。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马