我有一个 Django 项目,需要将其安装在 url 的两个不同子目录中,并且需要在 / 运行 Wordpress。所以:
*.example.com - WordPress
*.example.com/studio - django
*.example.com/accounts - django
Run Code Online (Sandbox Code Playgroud)
这是我迄今为止拥有的 httpd.conf:
<VirtualHost *:80>
ServerName wildcard.localhost
ServerAlias *.localhost
AddType application/x-httpd-php .php
DocumentRoot /var/empty
Alias /site_media/ /home/zach/projects/python/myproject/static/
Alias /media/ /home/zach/projects/python/myproject/env/lib/python2.6/site-packages/django/contrib/admin/media/
Alias / /home/zach/projects/python/myproject/wordpress/
WSGIScriptAlias /accounts /home/zach/projects/python/myproject/app/privio.wsgi
WSGIScriptAlias /studio /home/zach/projects/python/myproject/app/privio.wsgi
<Directory /home/zach/projects/python/myproject/app>
Order allow,deny
Allow from all
</Directory>
<Directory /home/zach/projects/python/myproject/wordpress>
Order allow,deny
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
在我添加 WordPress 的配置之前,Django 应用程序运行良好。但是通过这个新设置,我可以在 / 看到 WordPress 安装,但 Django 应用程序没有得到服务。我对 Apache 配置有点菜鸟 - 我缺少什么?
我已经完成了第一个基于 django 的网站,并准备在实时服务器上部署。但是,我不希望在调整和测试时暂时向公众显示该网站。
在 PHP 网站上,我总是通过 .htaccess 使用基本的 http 身份验证来进行最后的更改。这是一个两层线路,拒绝访问整个站点。
理想情况下,我想运行这样的环境:
这可以用 django/apache2/mod_wsgi 来完成吗?
系统:
我正在努力在 Windows 计算机上使用 Python 获取 Apache 服务器,并且我已正确配置服务器,以便让mod_wsig 文档Hello World!中的示例正常工作。
如果我只是启动C:\Apache24\bin\httpd.exe,这会起作用,我会在http://localhost:5000/看到 Hello World
然后我想让它作为服务运行,所以我调用
httpd.exe -k install
在 ApacheMonitor 中,我启动了新的 Apache2.4 服务,但出现启动失败错误。在 Windows 系统事件日志中,它显示Event ID: 7024一个特定于服务的错误:Incorrect function。
当我运行时httpd.exe -k start -n "Apache2.4" -t它说Syntax OK
我找不到有关服务错误的更多信息。文件中没有任何内容error.log,我不知道还能在哪里查看,我要求提供有关如何诊断此问题的更多信息。
在我开始配置 Apache 使用 mod_wsgi 之前,启动服务是成功的,所以在这样做之后就发生了这种情况,此时我还没有配置任何其他内容。
我正在尝试在运行 Ubuntu 20.04 的非托管 VPS 上运行 django。我连接到新安装的服务器,安装了 Django 和 Postresql。Apache 已经安装。然后我安装了 mod_wsgi。然后我尝试配置我的 .conf 文件。编辑后的文件
etc\apache2\sites-available\000-default.conf
包括以下内容:
Alias /static /root/django-apps/dmsemapping/staticfiles
<Directory /root/django-apps/dmsemapping/staticfiles>
Require all granted
</Directory>
<Directory /root/django-apps/dmsemapping/dmsemapping>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess dmsemapping python-path=/root/django-apps/dmsemapping python-home=/root/django-apps/env
WSGIProcessGroup dmsemapping
WSGIScriptAlias / /root/django-apps/dmsemapping/dmsemapping/wsgi.py
Run Code Online (Sandbox Code Playgroud)
dmsemapping是我的 django 项目的名称
/root/django-apps/dmsemapping是我的项目的路径
/root/django-apps/env是我的 python 环境变量的路径
当我运行这个程序时,我收到 403 错误。在 error.log 文件中我得到:
Current thread 0x00007f84dde19c40 (most recent call first):
<no Python frame>
[Tue Oct 26 22:55:44.887129 2021] [wsgi:warn] [pid 12089:tid 140208634960960] (13)Permission denied: mod_wsgi …Run Code Online (Sandbox Code Playgroud) 对于我正在开发的应用程序,用户使用多部分表单数据(内容类型:multipart/form-data)提交gzip压缩HTTP POST请求(内容编码:GZIP).我使用mod_deflate作为输入过滤器进行解压缩,并通过mod_wsgi在Django中处理Web请求.
一般来说,一切都很好.但对于某些请求(确定性的),从请求到响应几乎有一分钟的延迟.调查显示django中的处理是立即完成的,但是来自服务器的响应停止.如果请求不是GZIPed,则一切正常.
请注意,为了处理mod_wsgi中的毛刺,我将content-length设置为未压缩的mesage大小.
有没有人遇到这个问题?有没有办法在处理响应时轻松调试apache?
我需要在我的一个项目中使用Django 1.2.
我也已在同一台服务器上运行Django 1.3上的几个项目,我需要让它们继续运行.
有没有办法只为特定项目使用1.2?
这两个站点都通过mod_wsgi在Apache上运行.
如何在多个域上提供多个Django应用程序?
例如我有
djangoapp1.com和djangoapp2.com
然后,我在两个不同的位置拥有两个独立的应用程序
/ srv / www / djangoapp1 / srv / www / djangoapp2
我正在使用mod_wsgi运行Apache2,目前在其httpd.conf中包含以下内容
WSGIScriptAlias / /srv/www/app1/app1/wsgi.py
WSGIPythonPath /srv/www/app1
<Directory /srv/www/app1/system>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
Run Code Online (Sandbox Code Playgroud)
然后,我显然也有了虚拟主机,并且得到了django默认安装页面,但是现在我想提供第二个应用程序,有人可以指出正确的方法吗?
Django V:1.4.1
就像标题所说,404s所有内容:
Page not found (404)
Request Method: GET
Request URL: http://localhost/static/admin/css/base.css
Using the URLconf defined in djcms.urls, Django tried these URL patterns, in this order:
^admin/
The current URL, static/admin/css/base.css, didn't match any of these.
Run Code Online (Sandbox Code Playgroud)
基本上我只是关注DjangoProject.com上的教程,所以除了Django之外没有什么比这更复杂的了.
我的文件夹结构如下:
root@jerkstore:/var/www/djcms# ls -lsa
total 36
4 drwxrwxr-x 6 myusername myusername 4096 Jul 11 11:49 .
4 drwxr-xr-x 10 myusername www-data 4096 Jul 10 16:34 ..
4 drwxrwxr-x 5 myusername myusername 4096 Jul 11 11:40 admin
4 drwxrwxr-x 2 myusername myusername 4096 Jul 11 …Run Code Online (Sandbox Code Playgroud) 我只是在网上安装了一个django应用程序,我在错误日志中收到此错误
Fatal Python error: PyEval_AcquireThread: NULL new thread state
Run Code Online (Sandbox Code Playgroud)
我在网上看到了一些类似的问题,但他们没有解释这个错误.
我试图让我的Apache服务器运行mod_wsgi并收到此错误:
[Fri Jul 19 10:24:05 2013] [warn] mod_wsgi: Compiled for Python/2.7.3.
[Fri Jul 19 10:24:05 2013] [warn] mod_wsgi: Runtime using Python/2.7.4.
Run Code Online (Sandbox Code Playgroud)
这是通过进入/usr/local/srcPython所在位置并运行来解决的:
./configure --enable-shared
make install
Run Code Online (Sandbox Code Playgroud)
到目前为止我所看到的似乎修复需要mod_wsgi必须能够访问所有Python库,因此运行--enable-shared命令将允许它工作.[warn]在我的Apache error.log中看到上面的行之后,它说它无法在我的DJANGO_SETTINGS_MODULE settings.py文件中查找环境变量.当我替换这些变量时,它会说它可以在其他地方查找其他Python包.
我在Rackspace VPS上运行Ubuntu Linux 13.04,使用Django 1.5.2,在我的本地机器上运行Python 2.7.3,但Rackspace VPS的本机Python是2.7.4.我目前使用的mod_wsgi版本是3.4
我找到了这个链接
http://code.google.com/p/modwsgi/wiki/InstallationIssues
在"Python补丁级别不匹配"一节中,它似乎说我必须重建mod_wsgi,但这听起来有点困难,所以想问一下是否有更简单的修复?
先感谢您,
mod-wsgi ×10
django ×9
apache ×6
python ×4
apache2 ×1
django-1.3 ×1
gzip ×1
mod-deflate ×1
python-3.x ×1
ubuntu ×1
wordpress ×1