我注意到每当我在我的django项目上启用数据库设置时(开始注意到我的问题中的趋势?)它会给我一个内部服务器错误.将数据库设置设置为空白会使错误消失.以下是它输出的apache错误日志.
mod_wsgi (pid=770): Exception occurred processing WSGI script '/Users/teifionjordan/rob2/apache/django.wsgi'.
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/core/handlers/wsgi.py", line 239, in __call__
response = self.get_response(request)
File "/Library/Python/2.5/site-packages/django/core/handlers/base.py", line 67, in get_response
response = middleware_method(request)
File "/Library/Python/2.5/site-packages/django/contrib/sessions/middleware.py", line 9, in process_request
engine = __import__(settings.SESSION_ENGINE, {}, {}, [''])
File "/Library/Python/2.5/site-packages/django/contrib/sessions/backends/db.py", line 2, in <module>
from django.contrib.sessions.models import Session
File "/Library/Python/2.5/site-packages/django/contrib/sessions/models.py", line 4, in <module>
from django.db import models
File "/Library/Python/2.5/site-packages/django/db/__init__.py", line 16, in <module>
backend = __import__('%s%s.base' % (_import_path, settings.DATABASE_ENGINE), {}, {}, [''])
File …Run Code Online (Sandbox Code Playgroud) 最近我问了一个关于apache/mod_wsgi中识别python脚本目录的错误的问题.社区友好地回答了导致安装成功的问题.现在我有一个不同的错误,服务器守护进程(好吧,技术上是一个Windows服务,我说番茄你说...)没有找到任何模型,这里是完整的追溯:
环境:
Request Method: GET
Request URL: `http://localhost/polls/`
Django Version: 1.0.2 final
Python Version: 2.6.2
Installed Applications:
['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'mysite.polls']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware')
Run Code Online (Sandbox Code Playgroud)
模板错误:在模板c:\ users\marcos\documents\djangotemplates\polls\poll _list.html中,第1行的错误在渲染时捕获到异常:没有这样的表:polls_poll
1 : {% if object_list %}
2 : <ul>
3 : {% for poll in object_list %}
4 : <li> <a href="{{poll.id}}/">{{ poll.question }} </a> </li>
5 : {% endfor %}
6 : </ul>
7 : {% else %}
8 : <p>No polls are available.</p>
9 … 我租用一个专用的Web服务器.
我有一个Python Web应用程序.
哪个配置选项(CGI,FCGI,mod_python,Passenger等)会导致Python在我的Web服务器上以最快的速度运行,如何以这种方式设置它?
更新:
注意,我没有使用像Django或Pylons这样的Python框架.
我正在尝试使用Apache + mod_wsgi将我的Django应用程序部署到生产中,但是遇到了静态文件的问题.出于某种原因{{ STATIC_URL }},我的模板在生产中无法识别.在开发中,我的静态文件具有以下URL:
<script type="text/javascript" src="/static/js/myfile.js"></script>
Run Code Online (Sandbox Code Playgroud)
但在生产中,URL是:
<script type="text/javascript" src="js/myfile.js"></script>
Run Code Online (Sandbox Code Playgroud)
当我尝试打印时,{{STATIC_URL}}它在生产中是空白的.我在这里错过了什么?
谢谢!
为什么Windows上没有WSGIDaemonProcess?
我正在尝试在我的mac(山狮)上安装mod_wsgi(3.4),我按照这里的所有说明操作:http://code.google.com/p/modwsgi/wiki/InstallationInstructions但我无法加载模块由于以下错误:
httpd: Syntax error on line 119 of /private/etc/apache2/httpd.conf: Cannot load /usr/libexec/apache2/mod_wsgi.so into server: dlopen(/usr/libexec/apache2/mod_wsgi.so, 10): Symbol not found: __Py_FalseStruct\n Referenced from: /usr/libexec/apache2/mod_wsgi.so\n Expected in: flat namespace\n in /usr/libexec/apache2/mod_wsgi.so
Run Code Online (Sandbox Code Playgroud)
通过测试apache模块显示上面的消息:
apachectl -M
Run Code Online (Sandbox Code Playgroud)
我有默认的python mac安装(2.7)加上使用专用dmg手动安装的最新3.3,当我运行时./configure我尝试指定两个版本并添加标志--disable-framework(说实话我不知道它做了什么,但我发现它在其他讨论中提到).
我被困了......我该怎么办?
更新:
我通过运行以下命令配置mod_wsgi(使用默认的python 2.7):
make distclean
./configure
make
sudo make install
Run Code Online (Sandbox Code Playgroud)
无论如何我想使用python 3.3,并修复我上面报告的错误
环境:
问题:
我正在尝试安装mod_wsgi,但首先需要确定是否已使用'--enable-shared'选项配置和编译了Python。
问题:
谢谢!
我有一个OpenShift Python 2.7我猜测用的应用程序mod_wsgi.
是否可以ssh到OpenShift Online并查看.conf位于以下位置的文件:
/etc/apache2/sites-available/
Run Code Online (Sandbox Code Playgroud)
我想看看.wsgiApache在WSGIScriptAlias中定义的文件.
也许它只是寻找/wsgi/application?
一些帖子表明最近对Python应用程序的结构进行了更改,但它们可能不会影响我的旧版本:
如何在Python 3.3盒中更改或覆盖openshift.conf
https://blog.openshift.com/openshift-online-march-2014-release-blog/
理想情况下,我试图理解这些文件的执行顺序及其功能:
/wsgi/application /wsgi/my-bottle-application setup.pysetup.pycsetup.pyoUPDATE
这表明入口点是wsgi/application:
https://github.com/openshift/origin-server/search?utf8=%E2%9C%93&q=OPENSHIFT_PYTHON_WSGI_APPLICATION
我仍然有兴趣了解上述文件的执行顺序以及它执行的确切内容setup.py和方式 - 即没有对它的引用,application所以如何"调用"?
我正在尝试为我的网站启用错误日志记录.所以我在项目的根目录中创建了一个名为log.txt的文件.
/home/xyz/public_html/projectname/log.txt
Run Code Online (Sandbox Code Playgroud)
在我的address.py中这个地址:
/home/xyz/public_html/projectname/projectname/settings.py
Run Code Online (Sandbox Code Playgroud)
我有一个简单的日志记录设置:
LOGGINGs = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
'datefmt' : "%d/%b/%Y %H:%M:%S"
},
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': 'log.txt',
'formatter': 'verbose'
},
},
'loggers': {
'django': {
'handlers':['file'],
'propagate': True,
'level':'DEBUG',
},
}
}
Run Code Online (Sandbox Code Playgroud)
这在我的本地主机上工作正常,但是当我在尝试启动服务器时将其放在网上时,我得到:
[Tue Nov 22 04:27:37.817043 2016] [wsgi:error] [pid 3619] [remote 111.113.21.35:0] ValueError: Unable to configure handler 'file': [Errno 13] Permission denied: …Run Code Online (Sandbox Code Playgroud) 运行django和apache2 / mod_wsgi的问题。我不断收到500 Internal Server Error。我已经尝试了许多修复程序的组合,但没有奏效。任何帮助是极大的赞赏。这是我的设置:
Ubuntu 16.04
django 1.10.5
apache 2.4.18
python 3.4(virtualenv)
libapache2-mod-wsgi-py3
Run Code Online (Sandbox Code Playgroud)
我的文件夹结构是:
/home/user/site/venv (virtualenv folder)
bin
include
lib
/home/user/site/mysite
|- manage.py
static
mysite
|__init__.py
|settings.py
|urls.py
|wsgi.py
Run Code Online (Sandbox Code Playgroud)
site.conf
<VirtualHost *:80>
WSGIDaemonProcess myproject python-home=/home/user/site/venv python-path=/home/user/site/mysite
WSGIProcessGroup myproject
WSGIScriptAlias / /home/user/site/mysite/mysite/wsgi.py
Alias /static /home/user/site/mysite/static
<Directory /home/user/site/mysite/static>
Require all granted
</Directory>
<Directory /home/user/site/mysite/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
wsgi.py
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
application = get_wsgi_application()
Run Code Online (Sandbox Code Playgroud)
apache2 / error.log
[mpm_event:notice] [pid 8908:tid …Run Code Online (Sandbox Code Playgroud) mod-wsgi ×10
python ×7
django ×6
apache ×4
centos ×1
centos7 ×1
homebrew ×1
macos ×1
openshift ×1
python-2.7 ×1
python-3.x ×1
sqlite ×1
ubuntu-16.04 ×1
webserver ×1