Flask Can';t访问部署在Apache2上的本地静态资源应用程序

Flask Can';t访问部署在Apache2上的本地静态资源应用程序,flask,apache2,ubuntu-16.04,mod-wsgi,Flask,Apache2,Ubuntu 16.04,Mod Wsgi,我用mod_wsgi在Ubuntu 16.04 x64(阿里云)的Apache2上部署了一个简单的Flask应用程序。我在同一个ubuntu服务器实例上使用mysql作为我的数据库服务器 我将本地静态资源文件保存在应用程序的静态目录中。无论何时我调用远程资源,它都会很好地实现,但我的本地资源(即css文件、图像等)不会发生同样的事情 我知道默认情况下,flask的静态目录是静态的。在我本地的电脑里,一切正常。 下面是我如何尝试从jinja2模板获取静态资源 <div id="loader-

我用mod_wsgi在Ubuntu 16.04 x64(阿里云)的Apache2上部署了一个简单的Flask应用程序。我在同一个ubuntu服务器实例上使用mysql作为我的数据库服务器

我将本地静态资源文件保存在应用程序的静态目录中。无论何时我调用远程资源,它都会很好地实现,但我的本地资源(即css文件、图像等)不会发生同样的事情

我知道默认情况下,flask的静态目录是静态的。在我本地的电脑里,一切正常。 下面是我如何尝试从jinja2模板获取静态资源

<div id="loader-div2"><img src={{ url_for('static',filename='simple_gif.gif') }}></div>
在我的wsgi文件中

#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/FlaskApp/")

from myapp import app as application
文件夹结构

/var/www/FlaskApp
|-myapp.py
|-flaskapp.wsgi
| |-static
|    |-simple_gif.gif
| |-templates
|   |-my_template.html
问题概述: 无法访问Apache2服务器中的静态资源,但可以访问本地计算机中的静态资源。如果我尝试这样做,我总是得到404状态。出于同样的原因,我不能访问css文件以及回到那里。我被困在这里了。任何帮助都将不胜感激

提前谢谢

编辑 下面是apache的配置

<VirtualHost *:80>
ServerName 127.0.0.1
WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
<Directory /var/www/FlaskApp/>
  Order allow,deny
  Allow from all
  Require all granted
</Directory>
Alias /static /var/www/FlaskApp/static
<Directory /var/www/FlaskApp/static/>
  Order allow,deny
  Allow from all
  Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined  </VirtualHost>

服务器名127.0.0.1
WSGIScriptAlias//var/www/FlaskApp/FlaskApp.wsgi
命令允许,拒绝
通融
要求所有授权
别名/static/var/www/FlaskApp/static
命令允许,拒绝
通融
要求所有授权
ErrorLog${APACHE_LOG_DIR}/error.LOG
日志级别警告
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
Edit2
我已经解决了这个问题。这是另一个apacheconf文件,它使apache感到困惑。非常感谢您的关注。

您将Apache设置为承载静态文件的Apache配置是什么?如果您还没有设置,请参阅@GrahamDumpleton我想我早就遵循了那里记录的程序。是因为我发布的配置文件中的尾部斜杠或其他错误吗?顺便说一句,非常感谢您的关注。仅供参考,我已经为静态别名添加了一个尾随斜杠,但仍然存在相同的问题。对于
ls-las/var/www/FlaskApp/static
,您得到了什么?顺便说一句,对于Apache 2.4,您应该使用
Require all-grated
,而不是
Order/Allow
指令。这不太可能是问题所在,因为您已经加载了compat模块,这是一项非常古老的工作,但如果没有,您在Apache启动时可能会出现错误。
<VirtualHost *:80>
ServerName 127.0.0.1
WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
<Directory /var/www/FlaskApp/>
  Order allow,deny
  Allow from all
  Require all granted
</Directory>
Alias /static /var/www/FlaskApp/static
<Directory /var/www/FlaskApp/static/>
  Order allow,deny
  Allow from all
  Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined  </VirtualHost>