我忙于使用Gunicorn(作为Django服务)和NGINX(作为反向代理)为Django Framework设置开发环境。
当我看这个和这个的几个教程时,我看到他们使用端口8000和端口8001( http://127.0.0.1:8000
和http://127.0.0.1:8001
)。 是否有特殊原因不使用端口80,像任何其他networking服务器?
端口8000通常用于无线电stream和恶意软件,为什么?
顺便说一句:我正在使用Virtualenv在Ubuntu 12.04系统上运行它。
NGINX听取80端口并转发给Gunicorn。 Gunicorn运行在127.0.0.1 IP而不是0.0.0.0,所以它没有公开监听,因此从外部访问站点的唯一方法是通过80端口。
所有1024以下的端口都是特权端口 。 绑定到特权端口需要root用户权限,并且通常不需要使用根级权限运行gunicorn。
现在做的是允许nginx绑定到127.0.0.1:80,然后使用nginx配置将请求代理到端口80的非特权端口,如8000:
server { location / { proxy_pass http://127.0.0.1:8000; } }