使用Apache服务器的Flask应用程序没有响应

时间:2016-05-06 22:01:14

标签: python apache flask wsgi

我创建了一个烧瓶应用程序并将其托管在Ubuntu服务器上。我知道我的apache配置是正确的,因为我能够提供示例烧瓶应用程序。但是,这个似乎给了我麻烦。代码如下:

from flask import Flask, render_template, request, url_for
import pickle
import engine
import config

# Initialize the Flask application
app = Flask(__name__)


model = pickle.load(open(config.MODEL_PATH, "rb"))
collection = engine.Collection(config.DATABASE_PATH)
search_engine = engine.SearchEngine(model, collection)


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


@app.route('/search/', methods=['POST'])
def search():
    query = request.form['query']
    results = search_engine.query(query)
    return render_template('form_action.html', query=query, results=results)


@app.route('/retrieve/<int:item_number>', methods=['GET'])
def retrieve(item_number):
    item = engine.Product(item_number, collection.open_document(str(item_number)))
    return render_template('document.html', item=item)


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

直接通过python解释器运行文件时,它工作正常,我可以访问。但是,当从apache和wsgi开始时,我得不到服务器的响应。它只是在发出请求时挂起,日志上没有任何内容。

我怀疑我的问题可能与我在程序开始时初始化的三个对象有关。也许它会遇到困难?

更新:我已经尝试评论代码的某些部分,看看是什么导致它停滞不前。将其追溯到引擎模块,导入NearestNeighbors似乎导致了问题。

import sqlite3
import config
from sklearn.neighbors import NearestNeighbors
from preprocessor import preprocess_document
from collections import namedtuple

0 个答案:

没有答案