部署一个nginx服务器的时候出现错误:
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)
80端口被占用,但是又不想该配置换其他端口
进入CMD,输入netstat -ano就可以很清楚的看到80口占用程序的PID,然后再去任务管理器里查找到PID所对应的进程。(输入netstat -ano |more,或者netstat -ano|findstr "80")
看到pid=4的程序占用了80端口,PID=4 的程序是哪一个呢?接着在命令提示和下输入指令 tasklist ,列出所有当前运行的进程,发现 PID=4 的进程,这个进程其实是 system ,无法直接定位到是那个程序感觉很苦逼。
开始以为是IIS占用了80端口,但是我们IIS 80端口程序已经被我关闭了啊,网上找的各种方式都试了还是不行,最后发现居然是"SQL Server Reporting Services (MSSQLSERVER)"这个服务程序搞的鬼,如果电脑同时安装了SQL Server数据库服务程序,这个服务会占用80端口
关闭这个SQL服务就可以正常启动nginx服务器了