小编Gra*_*ton的帖子

Django停止使用RuntimeError:populate()不可重入

我一直在使用WSGI开发部署在Apache服务器上的Django Web应用程序,一切都进展顺利.今天,我对我的应用程序进行了一些小的更改,admin.py试图自定义内置的Django Admin界面,并且最初产生了语法错误(一个未闭合的括号).这意味着当我触摸wsgi.py并加载代码时(我在我的虚拟主机上以守护进程模式运行WSGI),我的网站被替换为内部服务器错误,因为WSGI在遇到语法错误时停止了.

所以我修复了语法错误,检查了我没有更多manage.py check,并触及wsgi.py重新部署.但我的网站仍然显示内部服务器错误!检查Apache日志,这是我看到的:

[Sun Nov 23 13:52:46 2014] [info] mod_wsgi (pid=19093): Create interpreter 'quotes.cs.cornell.edu|'.
[Sun Nov 23 13:52:46 2014] [info] mod_wsgi (pid=19093): Adding '/extra/www/html/quotes/quotes_django' to path.
[Sun Nov 23 13:52:46 2014] [info] mod_wsgi (pid=19093): Adding '/opt/rh/python27/root/usr/lib64/python2.7/site-
packages/' to path.
[Sun Nov 23 13:52:46 2014] [info] [client 128.84.33.19] mod_wsgi (pid=19093, process='quotes.cs.cornell.edu',
  application='quotes.cs.cornell.edu|'): Loading WSGI script '/extra/www/html/quotes/quotes_django/quotes_django/
wsgi.py'.
[Sun Nov 23 13:52:46 2014] [error] [client 128.84.33.19] mod_wsgi (pid=19093): Target WSGI script '/extra/www/html/ …
Run Code Online (Sandbox Code Playgroud)

apache django mod-wsgi django-wsgi

88
推荐指数
5
解决办法
7万
查看次数

加速django中的第一页加载

当我更新我的网站上的代码时,我(自然地)重启我的apache实例,以便更改生效.

不幸的是,每个apache实例所服务的第一个页面非常慢,而它首次将所有内容加载到RAM中(此特定站点为5-7秒).

后续请求只需0.5到1.5秒,所以我想为我的用户消除这种影响.

是否有更好的方法将所有内容加载到RAM而不是执行wget x次(其中x是我的http.conf中ServerLimit定义的apache实例的数量)

编写一个重新启动apache并运行wget 5次的重启脚本对我来说似乎有些不好意思.

谢谢!

python django performance mod-wsgi pageload

22
推荐指数
1
解决办法
4865
查看次数

WSGIPythonPath应该指向我的virtualenv?

我在虚拟环境中有一个名为python2.7inside的文件夹lib.

在阅读了六篇教程之后,我无法弄清楚我想将WSGIPythonPath指向的确切内容.我已经看到一些指向site-packages但有些已经是冒号:分隔列表.

Syntax error on line 1019 of /etc/httpd/conf/httpd.conf:
WSGIPythonPath cannot occur within <VirtualHost> section
Run Code Online (Sandbox Code Playgroud)

WSGIPythonPath应该指向我的virtualenv?

python django mod-wsgi wsgi

18
推荐指数
2
解决办法
2万
查看次数

名称重复以前的WSGI守护程序定义

我正在更改网站的域名.在一段时间内,我希望旧域名和新域名指向该站点.我正在运行一个Python Django站点.

我最初的Apache2 conf工作正常,基础是:

<VirtualHost *:80>
        ServerAdmin name@gmail.com
        ServerName originalsite.co.uk
        ServerAlias www.originalsite.co.uk
        DocumentRoot /var/www/originalsite
        WSGIDaemonProcess originalsite python-path=/var/www/originalsite:/var/www/originalsite/env/lib/python2.7/site-packages
        WSGIProcessGroup originalsite
        WSGIScriptAlias / /var/www/originalsite/originalsite/wsgi.py
        ...
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我设置了一个新的conf文件,只有以下更改:

    ServerName newsite.co.uk
    ServerAlias www.newsite.co.uk
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

名称重复以前的WSGI守护程序定义.

我该如何解决?谢谢你的帮助

python apache django mod-wsgi

13
推荐指数
3
解决办法
8163
查看次数

PHP-docker 容器中的环境变量

我想在我的 docker 容器中显示一个 env var。PHP 脚本如下所示:

<html>
 <head>
  <title>Show Use of environment variables</title>
 </head>
 <body>
  <?php
  print "env is: ".$_ENV["USER"]."\n";
  ?>
 </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我使用 OpenShift 来启动容器。PHP - 容器显示:

env is: 
Run Code Online (Sandbox Code Playgroud)

现在我更改了容器的 dc 配置:

oc env dc/envar USER=Pieter
deploymentconfig "envar" updated
Run Code Online (Sandbox Code Playgroud)

当我访问容器时。USER 的环境变量是 Pieter

docker exec -it 44a0f446ae36 bash
bash-4.2$ echo $USER
Pieter
Run Code Online (Sandbox Code Playgroud)

但是我的脚本仍然显示:“ env is:”它没有填充变量。

php environment-variables openshift docker openshift-origin

9
推荐指数
1
解决办法
1万
查看次数

openshift route和k8s ingress之间的区别是什么?

我是openshift和k8s的新手.我不确定这两个术语之间有什么区别,开放式路线与k8s进入?

openshift openshift-origin kubernetes

9
推荐指数
1
解决办法
2658
查看次数

防止使用buildout发生变量替换

是否有一种简单的方法可以在buildout配置中转义用于变量替换的魔术字符,这样就可以保留字符串.换句话说,我说的地方:

[part]
attribute = ${variable}
Run Code Online (Sandbox Code Playgroud)

我实际上并不希望它扩展$ {variable},而是将其保留为文字值.

实际上,我遇到的具体问题不是在buildout配置文件本身,而是在由配方'collective.recipe.template'处理的模板文件中.这使用配置文件中使用的buildout中的相同变量替换引擎.问题是我想用作模板的文件已经将'$ {variable}'语法与最终使用该文件的应用程序配置系统结合使用.

我找到解决问题的唯一方法是使用类似的东西:

[server-xml]
recipe = collective.recipe.template
input = templates/server.xml.in
output = ${product:build-directory}/conf/server.xml
dollar = $
Run Code Online (Sandbox Code Playgroud)

在模板输入文件中,然后有:

${dollar}{variable}
Run Code Online (Sandbox Code Playgroud)

代替:

${variable}
Run Code Online (Sandbox Code Playgroud)

它已经有了.

这样做是因为使用模板对该部分查找'dollar'属性并将其替换为'$'.

而不是必须这样做,有点希望人们可以这样做:

\${variable}
Run Code Online (Sandbox Code Playgroud)

或者甚至是:

$${variable}
Run Code Online (Sandbox Code Playgroud)

并且消除了必须具有虚拟属性以欺骗它做我想要的事情的需要.

查看buildout的源代码,它匹配变量替换的方式似乎不提供转义机制.

如果确实没有办法,那么也许有人知道可以进行变量扩展的另一个构建模板配方,但是它提供了一种表示变量的任何方式的转义机制,这样可以避免可能存在冲突的问题.模板系统扩展机制和模板文件中的文字数据.

python buildout

8
推荐指数
2
解决办法
870
查看次数

pip install mod_wsgi,如何设置MOD_WSGI_APACHE_ROOTDIR环境?

我试图在Windows 10中安装mod_wsgi.

该命令pip install mod_wsgi给我错误,

RuntimeError: No Apache installation can be found. Set the MOD_WSGI_APACHE_ROOTDIR environment to its location.

我的Apache目录是F:\Apache24\.

我的问题是,如何设置MOD_WSGI_APACHE_ROOTDIR环境?

谢谢,Sambhav

python apache mod-wsgi pip

8
推荐指数
1
解决办法
1万
查看次数

Django如何处理多个请求?

Django如何在生产环境中处理多个请求?

假设我们有一个Web服务器:Apache,Nginx,gunicorn等.
那么来自Web浏览器的任何请求的那些服务器是否启动新进程来提供该请求?
如果这是真的,它不会造成巨大的开销吗?
如果不是这样,那么同一个视图(让它被def hello(request)视图绑定到/hellourl)如何同时处理多个请求.

我已经看到问题的答案"...处理多个用户"

python django wsgi

8
推荐指数
1
解决办法
3860
查看次数

OC命令查看标签信息

我想知道应用于命名空间中所有图像的标签。有没有oc命令可以查看命名空间中的标签?

在发布这个问题之前,我用谷歌搜索了。然而我没有找到任何。所以我在这里发布这个问题。

openshift openshift-origin openshift-enterprise

7
推荐指数
1
解决办法
7109
查看次数