代码之家  ›  专栏  ›  技术社区  ›  gromiczek

在Webfaction上部署Flask web应用的设置不正确?

  •  0
  • gromiczek  · 技术社区  · 6 年前

    我已经做了三天了,整理了各种各样过时的教程,试图让它起作用,但每次我编辑和完善,我得到的只是一个 503 error (Service Temporarily Unavailable)

    我是一个网络应用部署的新手,所以请容忍我。到目前为止,我知道在Webfaction上部署Flask的关键部分是 index.py 使网站部分内容公开的文件 httpd.conf .wsgi 文件(用于Apache mod_wsgi模块),但我仍然不清楚这一部分。请注意,我正在使用 virtualenv 而不是 lib 前提是-虚拟环境在Webfaction上运行良好。应用程序在本地运行良好,但我无法在Webfaction上获得正确的设置。这是我迄今为止的记录。你能把我推到正确的方向吗?谢谢!

    These SO 问题 and 其他 posts 我(和其他许多人一起)咨询过一些有帮助的问题,但仍然没有得到解决。

    蟒蛇2.7,烧瓶0.10

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

    • 我的项目
      • 我的项目核心
        • myproject.wsgi(不确定如何使用它)
        • 静脉
        • 应用程序
        • 运行.py
        • (其他与程序相关的python文件)
      • 亚太地区2
        • httpd.conf格式
        • (+网络势力包含的其他标准内容)
      • lib(这是未使用的,因为我有一个virtualenv)
      • htdocs公司

    索引.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 回复  |  直到 6 年前