[英]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.