2014-06-18 35 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