使用Lighttpd进行Flask部署

问题描述 投票:0回答:1

尝试启动lighttpd服务时出现以下错误。

请帮我解决这个问题。在添加.fcgi时,我遇到了这样的问题。

fastcgi-backend无法启动:

孩子退出,状态为1

产卵fcgi失败了。

test.fcgi文件:


#!/usr/bin/python

from flup.server.fcgi import WSGIServer
from test import app

class ScriptNameStripper(object):
   def __init__(self, app):
       self.app = app

   def __call__(self, environ, start_response):
       environ['SCRIPT_NAME'] = ''
       return self.app(environ, start_response)

app = ScriptNameStripper(app)

if __name__ == '__main__':
    WSGIServer(app).run()

test.py文件:

from flask import Flask
from flask import render_template

app = Flask(__name__)

@app.route('/')
def runit():
    return render_template('index.html')

@app.route('/signup')
def signup():
    return render_template('signup.html')

if __name__ == '__main__':
    app.run()

Lighttpd.conf:

server.modules = (
    "mod_access",
    "mod_alias",
    "mod_compress",
    "mod_redirect",
    "mod_cgi",
    "mod_fastcgi",
    "mod_rewrite"
)

server.document-root        = "/home/jpk/Examples/test"
server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/lighttpd/error.log"
server.pid-file             = "/var/run/lighttpd.pid"
server.username             = "www-data"
server.groupname            = "www-data"
server.port                 = 8080


fastcgi.server = ("/test.fcgi" =>
    ((
        "socket" => "/tmp/yourapplication-fcgi.sock",
        "bin-path" => "/home/jpk/Examples/test/test.fcgi",
        "check-local" => "disable",
        "max-procs" => 1
    ))
)

alias.url = (
    "/static/" => "/static/"
)

url.rewrite-once = (
    "^(/static($|/.*))$" => "$1",
    "^(/.*)$" => "/test.fcgi$1"
)
python flask lighttpd
1个回答
0
投票

尝试从命令行运行test.cgi。如果您得到类似的东西:

ImportError: No module named flup.server.fcgi

然后你需要先安装flup才能使用它。

© www.soinside.com 2019 - 2024. All rights reserved.