2012-07-12 94 views
3

我忙着爲使用Gunicorn(作爲Django服務)和NGINX(作爲反向代理)的Django Framework設置開發環境。爲什麼Gunicorn使用端口8000/8001而不是80?

當我看幾個教程like this one和this one,我看到他們使用端口8000和端口8001(http://127.0.0.1:8000http://127.0.0.1:8001)。是否有特殊原因不使用端口80,像任何其他網絡服務器?

端口8000通常用於無線電流和惡意軟件,爲什麼?

順便說一句:我正在使用Virtualenv在Ubuntu 12.04系統上運行它。

回答

1

NGINX聽取端口80並轉發給Gunicorn。 Gunicorn運行在127.0.0.1 IP而不是0.0.0.0,因此它不公開監聽,因此通過端口80訪問站點的唯一方法是通過端口80.

10

1024以下的所有端口都是特權端口 。要綁定到特權端口需要root用戶權限,並且通常不需要使用根級權限運行gunicorn。

什麼做的反而是允許使用nginx的像nginx的配置結合127.0.0.1:80,然後代理請求到80端口的非特權端口像8000:

server { 
     location/{ 
       proxy_pass http://127.0.0.1:8000; 
     } 
} 
相關問題