使用apache mod_wsgi

时间:2016-03-17 13:57:26

标签: python apache mod-wsgi flask-restful

我试图创建一个基于烧瓶的应用程序,但无法正确托管它。这是我的虚拟主机文件FlaskApp.conf

<VirtualHost *:80>
ServerName flaskapp

WSGIScriptAlias / /var/www/flaskapp/myopinion.wsgi

<Directory /var/www/flaskapp/flaskapp>
    WSGIProcessGroup myopinion
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>

和我的wsgi文件:

#!/usr/bin/python

import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/flaskapp/")
from server import app as application

Server是我的python模块,存储在/var/www/flaskapp/flaskapp目录中。

我的虚拟主机文件位于/etc/apache2/sites_available/ 我的.wsgi文件位于/var/www/flaskapp目录。

当我尝试从server.py文件访问我的网址时,它会提供错误代码404 Not found: requested url /ques/ was not found on this server

我迫切需要帮助,过去两周我一直坚持这个问题。请帮帮我。

2 个答案:

答案 0 :(得分:0)

您的虚拟主机文件可能有问题。试试这个:

<VirtualHost *:80>
ServerName flaskapp

WSGIScriptAlias / /var/www/flaskapp/myopinion.wsgi
WSGIProcessGroup myopinion

<Directory /var/www/flaskapp/flaskapp/>
    Order deny,allow
    Allow from all
</Directory>

您的wsgi文件也不正确。它应该是:

#!/usr/bin/python

import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/flaskapp/")

from flaskapp import server as application

在wsgi文件中,将目录名放在from之后,对象名称放在import之后。将其别名为application不是必需的,而是一种常见的做法。

答案 1 :(得分:0)

我在烧瓶应用中使用了类似的apache-flask重定向。你可以看看我遵循的教程。

链接:https://www.digitalocean.com/community/tutorials/how-to-deploy-a-flask-application-on-an-ubuntu-vps

mod_wsgi设置使用上面的链接为我工作。我用它将Flask端口:5000重定向到apache2上的端口80。可以在shell中使用以下命令安装和启用mod_wsgi:

sudo apt-get install libapache2-mod-wsgi python-dev
sudo a2enmod wsgi

安装完成并且所有内容都配置正确后,必须使用以下命令重新启动Apache:

sudo service apache2 restart