如果我迷路了,很抱歉,但我几乎没有部署web应用程序的经验,在线搜索也帮不上忙。正如标题所述,我正在运行Ubuntu、Apache2、PostgreSQL和Django,并且我反复收到错误消息,其中大多数消息要么含糊不清,要么没有明确的解决方案。再加上我对特定交互的无知,任何试图找到解决方案的尝试,我都会非常具体
安装:
申请书:
settings.py:
- DEBUG = True
- WSGI_APPLICATION = 'example.wsgi.application'
-DATABASES =
'default':
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'example',
'USER': 'example',
'PASSWORD': 'example',
'HOST': 'localhost',
'PORT': '',
000-default.conf
<VirtualHost *:80>
ServerName FireAnts.localhost
ServerAlias www.FireAnts.localhost
DocumentRoot /var/www/FireAnts
<Directory /var/www/FireAnts/FireAnts>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess FireAnts python-path=/var/www/FireAnts python-home=/var/www/FireAnts/venv
WSGIProcessGroup FireAnts
WSGIScriptAlias / /var/www/FireAnts/FireAnts/wsgi.py
</VirtualHost>
错误,根据日志
通过删除写入error.txt文件的所有行,我临时获得了另一个脚本,该文件存在于两个包中并生成语法错误。由于某些无法解释的原因,它再次出现“无模块名django”故障。另外,我将整个包从外部目录移动到了“/var/www/”(并修改了000-default.conf文件)。这不会产生任何问题,因为虚拟环境与包一起运行,数据库仍然应该从外部连接。但是我假设这之前通过写入一个不再具有写入权限的文件生成了500错误。我的数据库是否会以某种方式(通过阻止连接)生成错误?如果用户稍后上载包,它将临时写入媒体文件夹。即使它还没有写出来,这会打破它吗?将包移动到/var/www目录时是否需要进行更多修改?我不知道是什么导致了这些错误。这一定是apache配置错误,因为它与Django的web服务器一起工作,只与apache2中断
为混乱和缺乏组织感到抱歉;我只是不知道我在哪里会搞砸但每次尝试修复都会再次破坏它。我将感谢任何和所有的帮助
好吧,我找到了答案。 所有配置都是正确的,但缺少安装,错误消息不清楚。 我找到了生成“populate()不可重入”消息的文件,找到了提供错误消息的行,并指示它继续,将“raise RuntimeError(“populate()不可重入”)”替换为“self.app_configs={}”。错误日志没有收到含糊不清的答案,而是报告缺少“psycopg2”导入。我激活了venv目录并安装了psycopg2。在那之后,它成功了
您可能没有在默认配置中正确提供WSGIDaemonProcess。请尝试以
其中,用正确的venv路径替换
<path/to/>
。您必须给出python可执行文件的完整路径编辑项目的wsgi.py文件
/var/www/FireAnts/FireAnts/wsgi.py:
相关问题 更多 >
编程相关推荐