使用Django具有共享代码库但数据不同的多个域
我想做的最好的解释就是看看它是如何工作的:使用Django具有共享代码库但数据不同的多个域,django,url,Django,Url,我想做的最好的解释就是看看它是如何工作的: 每个博客都被分配到一个新的子域,但用户也可以使用自己的域。可以使用简单的web界面分配自定义域 每个博客都有自己的内容、主题等 所有博客共享相同的代码库 在Django有可能做同样的事情吗 我对实现子域不感兴趣,但我想要其他特性 对于我来说,找到一种方式使域不必在配置文件中硬编码就可以工作,这一点很重要。域分配的动态特性使管理大量域成为可能。如果可以对数据库表进行域匹配,这将是理想的 我使用nginx和uwsgi。是的,但与开箱即用的Wordpre
- 每个博客都被分配到一个新的子域,但用户也可以使用自己的域。可以使用简单的web界面分配自定义域
- 每个博客都有自己的内容、主题等
- 所有博客共享相同的代码库
我使用nginx和uwsgi。是的,但与开箱即用的Wordpress安装相比,它需要在Django中进行更多的工作,但会为您提供更多的灵活性 你可能想看看django。然而,我不认为它能做你想做的一切
一个更模块化的系统是让您编写一个脚本,当调用该脚本时,它将引导一个新的db模式new virtuelenv,在其中安装所有必要的东西,将新站点的站点配置添加到nginx/apache,然后重新启动nginx/apache。代码可以来自相同的目录,但由于每个站点将在其自己的virtualenv上运行,因此它将更加安全、可靠和容错。但是,正如您所看到的,这需要一些工作,但根据您的要求,这是最灵活的方法。这种方法有两个问题:1。每次添加新域时,我都必须重新启动nginx。这将导致所有用户(不仅仅是正在编辑其域的网站)的连接丢失和停机。对于许多域,这会导致一个重大问题。2.如果我想修改代码库,我必须修改每一个代码实例,这意味着每个域都要修改一次。这种方法似乎不是最优的。完全同意。不过,它确实为基础架构提供了一个良好的开端,使其能够很好地扩展,因为您可以运行结构脚本而不是脚本。。。但在这一点上,你需要计算机集群,每个网站都必须运行在至少两个盒子上才能不停机。实际上,我希望在不久的将来做类似的事情,所以我认为现在最快最简单的方法就是这种简单的方法。如果你有更优雅的想法,请分享。