最近在尝试写微信公众号后台,但是微信 http 只支持 80 端口。
我用的 Windows 服务器 + Python + Flask 搭建,当使用 port = 80
,运行时提示错误:
flask调试错误:Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试
搜了下原因是端口被占用。为了解决这个问题,我花了大量时间。
首先想的是换个端口,但是 微信不支持 公网IP:端口
这种 url,然后就想怎么能把其他端口用域名映射出去,搜了很久也没找到一种简单合适的解决办法。
最后还是直接解除占用服务器的 80 端口吧。
Windows + R,输入 cmd 打开命令提示符。
输入以下命令查找占用 80 端口的应用。
netstat -ano | findstr ":80"
最右边就是运行应用的进程ID,阿里云服务器应该有两个东西占用了 80 端口,一个 PID 是 4,还有一个 PID 是个四位数。
使用以下命令找到 PID为 4 的应用,发现是 System
tasklist /fi "PID eq 4"
那这个就不能直接杀死进程,得去改端口。
输入 regedit 打开注册表。
找到以下路径 :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP
找到项 Start,将其值改为 0
去阿里云重启服务器,这个 PID 为 4 的就没有占用 80 端口了。
然后还有另一个占用 80 端口的,一般是 AliyunDun.exe
,是阿里云的一个安全服务,这个的话找到了 PID,直接用以下命令杀死进程即可:
taskkill /pid 2xxx
结束以后就没有占用 80 端口的进程了,直接运行成功!