簡體   English   中英

使用Apache mod_wsgi部署Flask-restful應用程序

[英]deploying flask-restful app using apache mod_wsgi

我正在嘗試創建一個基於燒瓶的應用程序,但無法正確托管它。 這是我的虛擬主機文件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

服務器是我的python模塊,存儲在/var/www/flaskapp/flaskapp目錄中。

我的虛擬主機文件位於/etc/apache2/sites_available/ ,我的.wsgi文件位於/var/www/flaskapp目錄中。

當我嘗試從server.py文件訪問我的URL時,它給出錯誤代碼404 Not found: requested url /ques/ was not found on this server

我在這里迫切需要幫助,從過去的兩個星期以來,我一直在解決這個問題。 請幫幫我。

您的虛擬主機文件可能有問題。 嘗試這個:

<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不是必需的,而是常見的做法。

我在燒瓶應用程序中使用了類似的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM