突然我的虚拟主机配置不再起作用了。所以我的设置应该很简单:在端口 80 上,我想提供两个 WSGI 应用程序,这就是我使用的 .conf 文件:
<VirtualHost *:80>
ServerName mogli.secret.de
#########
# RESTAPI
#########
WSGIScriptAlias /mogli/api /opt/mogli/restapi/app.wsgi
<Directory /opt/mogli/restapi/>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
#########
# WEBAPP
#########
WSGIScriptAlias /mogli/webapp /opt/mogli/webapp/app.wsgi
<Directory /opt/mogli/webapp/>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel debug
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
就像我说的,我已经让它工作了,所以我真的不知道发生了什么变化。Apache 服务器启动没有问题。我也a2ensite MogliFlask
成功运行了。但是当我打开我的 webapp 时,它只是显示 404 Not found。(顺便说一下,默认索引页在/
工作)
访问日志只是说同样的事情:
"GET /mogli/api/doc HTTP/1.1" 404 507 "-" "Mozilla/5.0 [...]"
打开网页后错误日志什么都没写,只有几条提示:
[Thu Oct 14 07:29:36.906477 2021] [core:notice] [pid 159:tid 140444421547136] AH00094: Command line: '/usr/sbin/apache2'
[Thu Oct 14 07:30:11.780214 2021] [mpm_event:notice] [pid 159:tid 140444421547136] AH00491: caught SIGTERM, shutting down
[Thu Oct 14 07:52:09.914051 2021] [mpm_event:notice] [pid 165:tid 140689596499072] AH00489: Apache/2.4.38 (Debian) mod_wsgi/4.6.5 Python/3.7 configured -- resuming normal operations
运行时apachectl -t -D DUMP_VHOSTS
我得到以下状态:
VirtualHost configuration:
*:80 is a NameVirtualHost
default server mogli.secret.de (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost mogli.secret.de (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost mogli.secret.de (/etc/apache2/sites-enabled/MogliFlask.conf:1)
我正在运行 Debian 10。
我到目前为止尝试过的事情:
- 重启服务器
- 重新安装 Apache2 和 WSGI mod
- 使用 Google 搜索如何调试此类错误,但没有成功
所以我的问题是 - 我该如何跟踪我的错误?VirtualHost 配置有什么问题?任何类型的提示都会有帮助,我对此很困惑。谢谢!
答案1
好的,我找到了解决方案:
sudo a2dissite 000-default
我不知道为什么它之前没有禁用就可以工作000-default
,但谜团已经解开了。