我正在 Ubuntu 上设置一个 Apache2 服务器来托管 Flask 网站。我遇到的问题是 Apache 仅在“/ 的索引”页面上提供我的文件,而不是提供我的网站。我是 Apache 新手,曾尝试按照许多在线教程和指南设置我的网站。我认为我已经基本设置好了,但某个地方有一个我无法检测到的错误配置。
站点.wsgi:
#!/usr/bin/python3.6
import sys
sys.path.insert(0, "/var/www/site.org/")
import app as application
if __name__ == '__main__':
application.run()
站点.conf:
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
<VirtualHost *:80>
DocumentRoot /var/www/site.org
ServerAdmin [email protected]
ServerName site.org
ServerAlias www.site.org
ErrorLog /var/www/site.org/logs/error.log
CustomLog /var/www/site.org/logs/access.log combined
WSGIScriptAlias /site.org /var/www/site.org/site.wsgi
WSGIDaemonProcess site.org python-home=/var/www/site.org/env python-path=/var/www/site.org/app user=www-data group=www-data threads=5
Alias /static/ /var/www/site.org/app/static
<Directory /var/www/site.org>
WSGIProcessGroup site.org
WSGIApplicationGroup %{GLOBAL}
WSGIScriptReloading On
Require all granted
</Directory>
</VirtualHost>
目录树:
site.org
├── app
│ ├── __init__.py
│ ├── models.py
│ ├── routes.py
│ ├── site.db
│ ├── static
│ └── templates
├── application.py
├── config.py
├── env
├── requirements.txt
└── site.wsgi
答案1
我不是 Apache 专家,但从您提供的文件夹结构来看,没有可供 Apache 加载的文件,例如 index.html 或 index.php。
在您的虚拟主机中包括;
DirectoryIndex index.html index.php
这将告诉 Apache 要加载哪些文件以及赋予它们什么优先级。
您还需要创建适当的 index.html 或 .php 文件。
请参阅此链接了解详情:https://httpd.apache.org/docs/2.4/mod/mod_dir.html