2015-12-08 13 views
0

我正在用nginx/gunicorn運行django。我對nginx和gunicorn的工作方式並不十分熟悉,但假設我想將我的django網站下載以進行維護。將django網站下載以進行維護?

我假設我想通過進入nginx/gunicorn設置重定向一些簡單的維護頁面並重定向,但我可能是錯的。

什麼是正確的(最簡單)的方式來做到這一點?

編輯添加nginx的配置委託聲明:

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; 

編輯2:啓用站點,添加nginx的文件

upstream app_server { 
    server 127.0.0.1:9000 fail_timeout=0; 
} 

server { 
    listen 80 default_server; 
    listen [::]:80 default_server ipv6only=on; 

    root /usr/share/nginx/html; 
    index index.html index.htm; 

    client_max_body_size 4G; 
    server_name _; 

    keepalive_timeout 5; 

    # Your Django project's media files - amend as required 
    location /media { 
     alias /home/django/mysite/media; 
    } 

    # your Django project's static files - amend as required 
    location /static { 
     alias /home/django/mysite/static_dump; 
    } 

    location/{ 
     #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; 

     if (-f /usr/share/nginx/html/index.html) { 
       return 503; 
     } 
    } 
    error_page 503 @maintenance; 
    location @maintenance { 
     rewrite ^(.*)$ /503.html break; 
    } 
} 

回答

0

一個做的方法是在服務器的某處添加維護頁面,然後在您的nginx文件(在啓用網站的文件夾中)將請求重定向到該網站的維護頁面。 你的nginx的頁面應該包含:

server_name myhost.example.com; 

root /path/to/html/file/directory; 
index index.html; 

只有以上3條線路有足夠的

+0

我試過了,但奇怪的是它似乎不具備即使我重新啓動服務器的作用。我不明白爲什麼它不起作用 – deltaskelta

+0

@deltaskelta你是否將代理轉發給gunicorn服務器? –

+0

不,有四條線,我沒有碰...把它們添加到主帖子 – deltaskelta