在Webfaction上部署Flask Web应用程序的设置不正确?

时间:2018-06-18 20:11:42

标签: python flask mod-wsgi wsgi webfaction

我已经为此工作了三天,并且正在研究各种各样的日期教程,试图让它工作,但每次我编辑和改进时,我得到的只是503 error (Service Temporarily Unavailable)的图标。

我是网络应用程序部署的菜鸟,所以请耐心等待。到目前为止,我知道在Webfaction上部署Flask的关键部分是index.py文件,该部分网站是公共的,httpd.conf文件用于配置Apache2服务器,我可能需要.wsgi }文件(对于Apache mod_wsgi模块),但这件作品对我来说仍然不清楚。请注意,我使用virtualenv而不是提供的lib - 虚拟环境在Webfaction上正常运行。该应用程序在本地运行良好,但我无法在Webfaction上正确设置。到目前为止,这是我的记录。你能给我一个正确方向吗?谢谢!

These SO个问题and其他posts我咨询了(其中许多人)有帮助,但仍然没有将其发现。< / p>

Python 2.7,Flask 0.10

这是我的应用程序在Webfaction上的文件结构:

  • 的myproject
    • myproject_core
      • myproject.wsgi(不确定如何使用)
      • VENV
      • 应用
      • run.py
      • (其他与程序相关的python文件)
    • 的apache2
      • 的httpd.conf
      • (+ Webfaction包含的其他标准内容)
    • 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_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>

0 个答案:

没有答案