我正在尝试使用Mod_wsgi让Django和Apache一起工作,目前我遇到以下错误:
[Thu Jul 15 12:52:38 2010] [error] [client 10.100.50.73] mod_wsgi (pid=4803): Target WSGI script '/home/webdev/websites/virtualenvs/polaris/polaris_project.py' cannot be loaded as Python module.
[Thu Jul 15 12:52:38 2010] [error] [client 10.100.50.73] mod_wsgi (pid=4803): Exception occurred processing WSGI script '/home/webdev/websites/virtualenvs/polaris/polaris_project.py'.
[Thu Jul 15 12:52:38 2010] [error] [client 10.100.50.73] Traceback (most recent call last):
[Thu Jul 15 12:52:38 2010] [error] [client 10.100.50.73] File "/home/webdev/websites/virtualenvs/polaris/polaris_project.py", line 8, in <module>
[Thu Jul 15 12:52:38 2010] [error] [client 10.100.50.73] import django.core.handlers.wsgi
[Thu Jul 15 12:52:38 2010] [error] …Run Code Online (Sandbox Code Playgroud) 我无法强制我的Apache 2.2加载mod_wsgi模块.
当我从httpd.conf中删除以下行时,它正确启动:
`LoadModule wsgi_module modules/mod_wsgi.so`
Run Code Online (Sandbox Code Playgroud)
尝试启动Apache时出现此错误.
`httpd.exe: Syntax error on line 129 of D:/Apache2.2/conf/httpd.conf: Cannot load D:/Apache2.2/modules/mod_wsgi.so into server: The specified module could not be found. `
Run Code Online (Sandbox Code Playgroud)
环境:
- Apache 2.2.16 x86 VC9(来自ApacheLounge.com)
- Python 2.7.1 AMD64(为所有用户安装)
- 添加了系统路径的
Python 路径- Python与CGI一起正常工作
我查了很多信息,没有人帮忙.
有人有什么想法吗?
我已经安装了运行mod_wsgi的Apache2.我已经证实,实际上的mod_wsgi按照工作这个.
当我试图让金字塔运行时,问题出现了.我收到内部服务器错误,我的Apache错误日志包含异常:
AssertionError: The EvalException middleware is not usable in a multi-process environment
Run Code Online (Sandbox Code Playgroud)
这是我的VHost:
<VirtualHost *:80>
ServerName pyramidtest.dev
DocumentRoot /srv/pyramidtest.dev/www/
AssignUserID pyramidtest nogroup
WSGIScriptAlias / /srv/pyramidtest.dev/pyramid/load.wsgi
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
这是我的load.wsgi:
import site
site.addsitedir('/opt/pyramid/lib/python2.7/site-packages')
from pyramid.paster import get_app
application = get_app('/srv/pyramidtest.dev/pyramid/test/development.ini', 'main')
Run Code Online (Sandbox Code Playgroud)
mod_wsgi被编译为/opt/python2.7用作Python解释器,但我在virtualenv下运行Pyramid /opt/pyramid- 这就是我site.addsitedir()在load.wsgi中的原因.
并且,如果需要,apache2 -V:
Server version: Apache/2.2.9 (Debian)
Server built: Dec 30 2010 11:50:24
Server's Module Magic Number: 20051115:15
Server loaded: APR 1.2.12, APR-Util 1.2.12
Compiled using: APR 1.2.12, …Run Code Online (Sandbox Code Playgroud) 是否有可能使我的网络服务器在同一个域中运行python和php?
我在python/django有一个网站www.mydomain.com.
现在,我必须在wordpress的www.mydomain.com/blog上主持一个博客.
我可以通过吗?
Apache 2.2 mod_wsgi
我的配置现在:
# RUNS PYTHON
<VirtualHost *:80>
DocumentRoot /home/padrao
ErrorLog /home/padrao/logs/mydomain.com-error_log
CustomLog /home/padrao/logs/mydomain.com-access_log common
WSGIScriptAlias / /home/padrao/mywebsite.wsgi
</VirtualHost>
# RUNS PHP
<VirtualHost *:80>
ServerName cloud.mydomain.com
ServerAdmin postmaster@mydomain.com
DocumentRoot /home/padrao/www
ErrorLog logs/mydomain.com-error_log
CustomLog logs/mydomain.com-access_log combined
<Directory /home/padrao/www>
php_admin_value open_basedir "/home/padrao/www"
php_admin_value upload_tmp_dir "/tmp"
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
谢谢
我是python web开发世界的新手,有点困惑为什么我们需要一个apache环境,而我们可以用它的内置http服务器运行python web应用程序?另外,根据我的经验,我可以运行django应用程序,而无需设置任何其他内容.那为什么我们还需要apache + mod_wsgi?为了表现?
实际上让我感到困惑的是......我应该如何编写代码入口点?例如,我听说还有其他先进的"网络服务器",如cherrypy/Tornado,每一个都需要不同的入口代码.所以我想知道apache(+ mod_wsgi)是否与其他Web框架(我称之为Web服务器)不重叠?(在大多数情况下)我们应该在生产中使用apache但是使用其他作为"插件"?谢谢
我有这个问题:
我正在运行pythonbrew来获取python2.7,所以我重新编译mod_wsgi以使用2.7 python.
为此,我遵循了本教程:
code.google.com/p/modwsgi/wiki/QuickInstallationGuide
涉及下载文件 - 我得到一个tar.gz文件 - 然后"配置" ./configure --with-python=/home/bharal/.pythonbrew/pythons/Python-2.7.2/bin/python --enable-shared
现在我假设这是我的python附加的正确位置 - 上面的with-python的值只是我得到的响应 which python
好!所以,现在问题.在我运行上面的配置后,我运行make,我得到:
/usr/include/features.h:160:1: warning: this is the location of the previous definition
/usr/share/apr-1.0/build/libtool --silent --mode=link --tag=disable-static x86_64-linux-gnu-gcc -o mod_wsgi.la -rpath /usr/lib/apache2/modules -module -avoid-version mod_wsgi.lo -L/home/aiyer /.pythonbrew/pythons/Python-2.7.2/lib -L/home/aiyer/.pythonbrew/pythons/Python-2.7.2/lib /python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm
/usr/bin/ld: /home/bharal/.pythonbrew/pythons/Python-2.7.2/lib/libpython2.7.a(abstract.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/home/aiyer/.pythonbrew/pythons/Python-2.7.2/lib/libpython2.7.a: could not read symbols: Bad value
collect2: ld returned …Run Code Online (Sandbox Code Playgroud) 我在apache服务器上部署了一个python flask应用程序.这是我的abc.conf档案:
WSGIDaemonProcess voting_app threads=5
WSGIScriptAlias /election /var/www/voting_app/voting.wsgi
LogLevel info
ErrorLog "/var/www/voting_app/error.log"
CustomLog "/var/www/voting_app/access.log" combined
<Directory /var/www/voting_app>
WSGIProcessGroup voting_app
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
为了检查调试,我在我的应用程序中出现了语法错误.在重新启动服务器时,我收到500服务器错误但我无法在任何地方看到错误的详细信息.我检查了我添加的两个文件作为日志 - 它们完全是空白的.日志文件也是如此/var/log/apache2.我在这里错过了什么?
我在这里问下面的问题,因为它涉及开发人员工具.
我已将Ubuntu 10.04 LTS工作站升级到12.04 LTS(32位).今天我去尝试一个没有错误的Django Web应用程序.它在Apache上运行.
应用程序不再起作用并返回错误.我一直在处理一系列错误/var/log/apache2/error.log.
第一个错误涉及UCS2和UCS4(为了便于阅读而修剪线条).
ImportError: /usr/local/lib/python2.7/lib-dynload/_io.so:
undefined symbol: PyUnicodeUCS2_FromObject
mod_wsgi (pid=9246): Target WSGI script
'/usr/local/www/wsgi-scripts/wsgi_amr_handler.py'
cannot be loaded as Python module.
Run Code Online (Sandbox Code Playgroud)
通过重建和重新安装最新版本的mod_wsgi来解决这个问题.
当前错误涉及mysqldb不是有效的后端.这是错误(为清晰起见,删除了时间戳):
backend = load_backend(db['ENGINE'])
File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 51,
in load_backend
raise ImproperlyConfigured(error_msg)
ImproperlyConfigured: 'mysql' isn't an available database backend.
Try using django.db.backends.mysql instead.
Error was: No module named mysql.base
Run Code Online (Sandbox Code Playgroud)
这是Django应用程序的settings.py中的配置问题还是别的什么?
是否有Python 2.7,mod_wsgi,Django和mysqldb的安装顺序,这可能是问题吗?
这是我当前(收到评论后)settings.py
DATABASES = {
'default': {
'ENGINE': ' django.db.backends.mysql',
'NAME': 'server', # Or path to database file if using sqlite3. …Run Code Online (Sandbox Code Playgroud) 让我们执行脚本
python b.wsgi
Run Code Online (Sandbox Code Playgroud)
结果是:
None
None
Run Code Online (Sandbox Code Playgroud)
这是问题,这是完整的脚本 b.wsgi
aaa = """
From root@a1.local.tld Thu Jul 25 19:28:59 2013
Received: from a1.local.tld (localhost [127.0.0.1])
by a1.local.tld (8.14.4/8.14.4) with ESMTP id r6Q2SxeQ003866
for <ooo@a1.local.tld>; Thu, 25 Jul 2013 19:28:59 -0700
Received: (from root@localhost)
by a1.local.tld (8.14.4/8.14.4/Submit) id r6Q2Sxbh003865;
Thu, 25 Jul 2013 19:28:59 -0700
From: root@a1.local.tld
Subject: oooooooooooooooo
To: ooo@a1.local.tld
Cc:
X-Originating-IP: 192.168.15.127
X-Mailer: Webmin 1.420
Message-Id: <1374805739.3861@a1>
Date: Thu, 25 Jul 2013 19:28:59 -0700 (PDT)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="bound1374805739"
This …Run Code Online (Sandbox Code Playgroud) 我正在尝试部署Django站点.它按预期在开发服务器中运行.在cp虚拟环境下运行python时也会导入成功.
但是在Apache mod_wsgi下我得到了该站点的以下错误日志:
[Wed Jun 10 17:26:20.204238 2015] [:info] [pid 18376:tid 140307600816000] mod_wsgi (pid=18376): Attach interpreter ''.
[Wed Jun 10 17:26:47.476066 2015] [:info] [pid 18377:tid 140307470911232] [client 192.168.1.1:15841] mod_wsgi (pid=18377, process='', application='cp'): Loading WSGI script '/var/www/django_projects/cp/mysite/wsgi.py'.
[Wed Jun 10 17:26:47.575882 2015] [:error] [pid 18377:tid 140307470911232] [client 192.168.1.1:15841] mod_wsgi (pid=18377): Target WSGI script '/var/www/django_projects/cp/mysite/wsgi.py' cannot be loaded as Python module.
[Wed Jun 10 17:26:47.575951 2015] [:error] [pid 18377:tid 140307470911232] [client 192.168.1.1:15841] mod_wsgi (pid=18377): Exception occurred processing WSGI script '/var/www/django_projects/cp/mysite/wsgi.py'.
[Wed Jun …Run Code Online (Sandbox Code Playgroud)