2014-06-18 66 views
1

我剛剛在我的nginx服務器上安裝了Django,並部署了一個存在於域根級別的項目:mydoman.com/map。我將在此服務器上構建其他Django項目,但它們不會共享相同的數據庫,因此它們不能是來自同一項目的不同應用程序,對嗎?部署多個Django項目或應用程序?

我可以在我的網站之間設置一些抽象級別嗎?像mydomain.com/map/map_index和管理端的mydomain.com/map/admin一樣?然後,爲該網站的管理端提供類似mydomain.com/votes/vote_index和mydomain.com/votes/admin的內容?

我想mydomain.com/map和mydomain.com/votes是兩個獨立的項目,使用相同的Django實例,共享相同的站點包文件夾。這兩個項目都需要像django-storages和django-memcached這樣的模塊。

回答

1

Mkay。首先,可以構建一個應用程序with multiple databases。只是FYI。但我建議你使用不同的應用程序。真。

是的,你可以,很容易,因爲nginx很容易使用!

server { 
    listen 80; 
    server_name mydomain.com; 

    location /one/ { 
     include uwsgi_params; 
     uwsgi_pass unix:/var/run/uwsgi/one.sock; 
     uwsgi_read_timeout 60; 
    } 

    location /two/ { 
     include uwsgi_params; 
     uwsgi_pass unix:/var/run/uwsgi/two.sock; 
     uwsgi_read_timeout 60; 
    } 

    .... 
} 

這個confis假定你用uwsgi套接字文件進行部署。所以你在/ one/locaton(url)上有一個uwsgi-djangoapp實例,在另一個上有不同的實例。

+0

那麼每個項目都會被完全包含,我所要做的就是將每個項目上傳到服務器? – JonnyD

+0

你應該做更多的步驟:上傳django應用程序,創建數據庫,同步和遷移,創建uwsgi配置文件以啓動它的工作者(uwsgi_pass收到工作套接字文件的路徑),collectstatic,重新啓動uwsgi。此外,不要忘記將靜態映射到像/ one/static這樣的位置,並在您的應用中假定這個前綴! – dt0xff