首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在几个Apache上提供一个Django应用程序

在几个Apache上提供一个Django应用程序
EN

Stack Overflow用户
提问于 2017-06-12 13:03:04
回答 1查看 344关注 0票数 0

我们有一个由Apache (Mod)提供的Django应用程序,它具有这样的配置:

代码语言:javascript
复制
<VirtualHost vhost:80>
  # ...
  WSGIScriptAlias / /path/to/wsgi.py
</VirtualHost>

我们希望将单个应用程序服务到两个虚拟主机中:vhost:80vhost:443 .客户端迁移所需的时间,最后只需将其保存在https虚拟主机上。是否有可能将指令WSGIScriptAlias / /path/to/wsgi.py复制到第二个虚拟主机(vhost:443)中,或者我们是否会遇到使用相同DB运行同一应用程序两倍的问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-13 01:10:11

首先,您希望确保您使用的是mod_wsgi的守护进程模式,而不是嵌入式模式。无论哪种方式,如果正在使用多进程配置,则已经有多个应用程序实例访问相同的数据库。这通常不是一个问题。当为SSL添加虚拟主机时,问题是进程数量加倍。这就是守护进程模式出现的地方。典型的配置是:

代码语言:javascript
复制
<VirtualHost *:80>
  ServerName sitename.example.com

  # Define a daemon process group.

  WSGIDaemonProcess sitename

  # Specify WSGI application and delegate to daemon process group.
  # As delegating here, don't need WSGIProcessGroup/WSGIApplicationGroup.

  WSGIScriptAlias / /path/to/wsgi.py process-group=sitename application-group=%{GLOBAL}

  # ... access control directives

</VirtualHost>

<VirtualHost *:443>
  ServerName sitename.example.com

  # ... SSL options

  # Specify WSGI application and delegate to daemon process group.
  # As delegating here, don't need WSGIProcessGroup/WSGIApplicationGroup.
  #
  # Note that we did not define a daemon process group in this virtual
  # host. Instead we rely on fact that can reach across and use daemon
  # process group defined in virtual host for port 80. This is possible
  # as value of ServerName is the same.

  WSGIScriptAlias / /path/to/wsgi.py process-group=sitename application-group=%{GLOBAL}

  # ... access control directives

</VirtualHost>

如果需要调整容量和性能,则将process=nnnthreads=nnn选项添加到WSGIDaemonProcess中。还要确保修改您可能希望在守护进程组上设置的超时选项。

  • http://modwsgi.readthedocs.io/en/develop/configuration-directives/WSGIDaemonProcess.html
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44500199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档