2014-02-10 129 views
0

好吧,我是一個剛剛完成django教程的網站新手,並決定嘗試在網上發佈我的民意調查應用程序。到目前爲止,我有一個godaddy域名,我試圖指向我的亞馬遜EC2實例的彈性IP,目前正在託管我的民意調查網站。用nginx&gunicorn(godaddy域名/亞馬遜ec2實例)Django部署

目前我所成立的是:

亞馬遜路線53:指向mydomain.com與記錄集的託管區:命名mydomain.com & www.mydomain.com和價值xx.xxx.xx .x

Godaddy:DNS區域文件:我的亞馬遜彈性IP xx.xxx.xx.x的A(主機),4亞馬遜路由53託管區域名稱服務器的名稱服務器。

EC2實例:運行nginx和gunicorn來託管應用程序。

我的問題是,我可以去亞馬遜的彈性IP的網站,但我不能訪問它的域名(我得到一個大膽的「歡迎nginx!」頁面,無論我嘗試去家裏頁面或/ polls/1頁面。)

回答

0

看起來正確。你是否用nginx跟蹤了標準的gunicorn配置?

http://docs.gunicorn.org/en/latest/deploy.html

你可能想在你的nginx CONFIGS是這樣的:

http { 
    include mime.types; 
    default_type application/octet-stream; 
    access_log /tmp/nginx.access.log combined; 
    sendfile on; 

    upstream app_server { 
     server unix:/tmp/gunicorn.sock fail_timeout=0; 
     # For a TCP configuration: 
     # server 192.168.0.7:8000 fail_timeout=0; 
    } 

    server { 
     listen 443 default; 
     client_max_body_size 4G; 
     server_name _; 
     ssl     on; 
     ssl_certificate  /usr/local/nginx/conf/cert.pem; 
     ssl_certificate_key /usr/local/nginx/conf/cert.key; 

     keepalive_timeout 5; 

     # path for static files 
     root /path/to/app/current/public; 

     location/{ 
      # checks for static file, if not found proxy to app 
      try_files $uri @proxy_to_app; 
     } 

     location @proxy_to_app { 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_set_header Host $http_host; 
      proxy_redirect off; 

      proxy_pass http://app_server; 
     } 

     error_page 500 502 503 504 /500.html; 
     location = /500.html { 
      root /path/to/app/current/public; 
     } 
    } 
} 

你要指向正確的SSL證書和密鑰路徑(而不是/usr/local/nginx/conf/cert.pem;/usr/local/nginx/conf/cert.key;)。此外,你應該根指向你的特定的Django靜態文件,而不是/path/to/app/current/public

0

好吧,我想通了。

Nginx正在監聽127.0.0.1:8000,gunicorn正在播放到127.0.0.1:8001。 (502錯誤)

要解決DNS問題,我必須進入我的亞馬遜EC2控制面板並打開端口8000.