在vps上部署Flask应用程序(Apache / Debian)

时间:2017-03-14 12:21:40

标签: python apache flask mod-wsgi

我正在尝试在vps上部署Flask应用程序,其中OS是Debian,而且正在使用Apache。我是Apache的新手,所以我的问题可能看起来很简单,但我无法在网上找到任何解决方案(我在这个论坛上阅读了几个教程并进行了搜索)。

服务器运行正常(它已用于其他目的)。当我尝试使用www.myservername / web_app访问我的应用程序时,我收到404 Not Found错误。关注http://flask.pocoo.org/docs/0.12/deploying/mod_wsgi/,这就是我所做的:

我将我的应用程序放在/ var / www / web_app /中。在/var/www/web_app/app/init.py我创建了一个我的应用程序(名为app)的实例并对其进行了配置。

我将以下.wsgi文件放在/ var / www / web_app /:

activate_this = '/var/www/web_app/.pyenv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this)
import sys
from app import app as application

这是/etc/apache2/sites-available/000-default.conf文件(该网站已启用):

    <VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory /var/www/html/redmine>
    RailsBaseURI /redmine
    PassengerResolveSymlinksInDocumentRoot on
    </Directory>
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    WSGIDaemonProcess app user=www-data group=www-data threads=5 
    WSGIScriptAlias /web_app /var/www/web_app/app.wsgi
    <Directory /var/www/web_app>
            WSGIProcessGroup app
            WSGIApplicationGroup %{GLOBAL}
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

我还尝试用WSGIScriptAlias中的/ var / www / web_app替换/ web_app,并访问myservername / var / www / web_app。此外,我试图在第一个Directory标记中注释掉Rails / Passenger指令。

当然我安装了wsgi模块。我在尝试访问该页面之前重新启动了服务器。这是访问日志:

... "GET /web_app HTTP/1.1" 404 508

错误日志:

[error] ... File does not exist : /var/www/web_app

最后,我的烧瓶应用程序 - 使用烧瓶开发服务器时 - 工作正常。

感谢您的帮助!

0 个答案:

没有答案