Python WebPosition上Flask web应用部署的设置不正确?
我已经在这方面工作了三天了,我梳理了各种各样的过时教程,试图让它发挥作用,但每次我编辑和完善,我得到的都是favicon的一个Python WebPosition上Flask web应用部署的设置不正确?,python,flask,mod-wsgi,wsgi,webfaction,Python,Flask,Mod Wsgi,Wsgi,Webfaction,我已经在这方面工作了三天了,我梳理了各种各样的过时教程,试图让它发挥作用,但每次我编辑和完善,我得到的都是favicon的一个503错误(服务暂时不可用) 我是一个网络应用部署的新手,所以请容忍我。到目前为止,我知道在Web派系上部署Flask的关键部分是使站点部分公开的index.py文件,配置Apache2服务器的httpd.conf文件,我可能需要一个.wsgi文件(用于Apache mod_wsgi模块),但这一部分我还不清楚。请注意,我使用的是一个virtualenv而不是提供的lib
503错误(服务暂时不可用)
我是一个网络应用部署的新手,所以请容忍我。到目前为止,我知道在Web派系上部署Flask的关键部分是使站点部分公开的index.py
文件,配置Apache2服务器的httpd.conf
文件,我可能需要一个.wsgi
文件(用于Apache mod_wsgi模块),但这一部分我还不清楚。请注意,我使用的是一个virtualenv
而不是提供的lib
——虚拟环境在WebPosition上运行良好。该应用程序在本地运行良好,但我无法在WebParty上获得正确的设置。这是我到目前为止的记录。你能给我一个正确的方向吗?谢谢
我(在许多其他问题中)咨询过的其他问题都很有帮助,但仍然没有把它付诸实施
Python 2.7,Flask 0.10
以下是我的应用程序在Webfaction上的文件结构:
- 我的项目
- MYU项目核心
- myproject.wsgi(不确定如何使用)
- 文夫
- 应用程序
- run.py
- (其他与程序相关的python文件)
- apache2
- httpd.conf
- (+WebPosition包含的其他标准内容)
- lib(这是未使用的,因为我有一个virtualenv)
- htdocs
- index.py
- MYU项目核心
import sys
yourappname = "/home/me/webapps/myproject/htdocs"
if not yourappname in sys.path:
sys.path.insert(0, yourappname)
from myproject import app as application
httpd.conf:(我承认我把这个弄得太糟了,现在可能有太多或太少的碎片……或者两者都有)
ServerRoot”/home/me/webapps/myproject/apache2“
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule dir\u modules/mod\u dir.so
LoadModule env_modules/mod_env.so
LoadModule log\u config\u module modules/mod\u log\u config.so
LoadModule mime_modules/mod_mime.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule wsgi_modules/mod_wsgi.so
LoadModule unixd_module modules/mod_unixd.so
LoadModule alias\u modules/mod\u alias.so
日志格式“%{X-Forwarded-For}i%l%u%t\%r\”%>s%b\“%{Referer}i\\”\“%{User Agent}i\”组合
CustomLog/home/me/logs/user/access\u myproject.log组合
ErrorLog/home/me/logs/user/error\u myproject.log
DirectoryIndex.py
DocumentRoot/home/me/webapps/myproject/htdocs
听30017
拒之门外
HTTPS=1上的SetEnvIf X-Forwarded-SSL
服务器限制1
StartServers 1
MaxRequestWorkers 5
Minspare1
MaxSpareThreads 3
螺纹锉刀5
WSGIDaemonProcess project processs=2线程=12 python home=/home/me/webapps/myproject/myproject\u core/venv/
WSGIProcessGroup项目
WSGirestricton嵌入式
WSGilazyin的初始化
WSGIScriptAlias//home/me/webapps/myproject/htdocs/index.py
AddHandler wsgi script.py
重新启动发动机
重写基/
WSGIScript正在重新加载
Apache错误和访问日志中是否有任何信息表明请求正在访问它?WebPosition在前面使用了一个代理,代理甚至可能没有正确设置,因此请求会发送到Apache。大多数情况下,共享主机上python应用程序的问题都是由WSGI配置引起的。我建议您创建单文件Flask应用程序,并使其能够工作,以了解WSGI配置如何在您的特定主机上工作。然后添加venv、多文件、不同的文件夹结构等。@GrahamDumpleton-感谢您的反馈-目前还没有日志,因为它从未启动并运行过任何日志。@Fian-是的,我想这就是我需要做的-只是一个基本的Hello World,从那里开始工作。谢谢
ServerRoot "/home/me/webapps/myproject/apache2"
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule wsgi_module modules/mod_wsgi.so
LoadModule unixd_module modules/mod_unixd.so
LoadModule alias_module modules/mod_alias.so
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog /home/me/logs/user/access_myproject.log combined
ErrorLog /home/me/logs/user/error_myproject.log
DirectoryIndex index.py
DocumentRoot /home/me/webapps/myproject/htdocs
Listen 30017
KeepAlive Off
SetEnvIf X-Forwarded-SSL on HTTPS=1
ServerLimit 1
StartServers 1
MaxRequestWorkers 5
MinSpareThreads 1
MaxSpareThreads 3
ThreadsPerChild 5
WSGIDaemonProcess project processes=2 threads=12 python-home=/home/me/webapps/myproject/myproject_core/venv/
WSGIProcessGroup project
WSGIRestrictEmbedded On
WSGILazyInitialization On
WSGIScriptAlias / /home/me/webapps/myproject/htdocs/index.py
<Directory /home/me/webapps/myproject/htdocs/>
AddHandler wsgi-script .py
RewriteEngine on
RewriteBase /
WSGIScriptReloading On
</Directory>