Django启动服务器提示无端口访问权限,该如何解决?
Django启动服务器提示「You don't have permission to access that port」的解决办法

以下是几种可行的解决方式:
更换非特权端口
系统默认1-1024是特权端口,普通用户无法直接绑定。换用1024以上的端口即可,比如8001:python manage.py runserver 8001如果需要让外部设备访问,可指定IP和端口:
python manage.py runserver 0.0.0.0:8001以管理员权限运行(仅Linux/macOS)
若一定要使用80、8000这类特权端口,可通过sudo临时提升权限:sudo python manage.py runserver 80注意:这种方式会让进程获得系统高权限,仅适合测试环境临时使用,生产环境严禁这么操作。
永久开放Python绑定特权端口的权限(Linux系统)
通过setcap命令给Python进程添加绑定特权端口的能力,无需每次用sudo:sudo setcap 'cap_net_bind_service=+ep' /usr/bin/python3(替换
/usr/bin/python3为你实际使用的Python可执行文件路径)
执行完后可通过以下命令验证配置是否生效:getcap /usr/bin/python3
内容的提问来源于stack exchange,提问作者Ali Ganji
相关产品推荐
相关产品推荐

