Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python WebPosition上Flask web应用部署的设置不正确?_Python_Flask_Mod Wsgi_Wsgi_Webfaction - Fatal编程技术网

Python WebPosition上Flask web应用部署的设置不正确?

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

我已经在这方面工作了三天了,我梳理了各种各样的过时教程,试图让它发挥作用,但每次我编辑和完善,我得到的都是favicon的一个
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
index.py:

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>