Проблема с портом при использовании приложения Flask с mod_wsgi - PullRequest
0 голосов
/ 06 февраля 2020

Я развернул приложение Flask (REST API) на сервере Apache. Сервер Apache является частью настройки WAMP. Это машина windows 10. Когда я запускаю приложение flask, используя сервер flask, я могу привязать его к любому порту, и он работает. Но когда я пытаюсь использовать его из mod_wsgi, я получаю сообщение об ошибке

OSError: [WinError 10013] Была сделана попытка получить доступ к сокету способом, запрещенным его правами доступа

Apache работает на порту № 5000. Я ожидал, что приложение flask будет использовать тот же порт и выполнит код python. Что я делаю неправильно.

В конфигурации виртуального хоста указан ниже

<VirtualHost *:5000>
DocumentRoot "${INSTALL_DIR}/www/AppDir/"
Alias /CourseReco/ "${INSTALL_DIR}/www/AppDir/"
<Directory "${INSTALL_DIR}/www/AppDir/">
    Allow from all
    Require all granted
    Options Indexes Includes ExecCGI FollowSymLinks
    AllowOverride None
    Order deny,allow
    DirectoryIndex index.cgi index.html index.py
    AddHandler cgi-script .py
</Directory>

Файл app_API.wsgi имеет значение

#!d:/development/anaconda/envs/app_api/python.exe
import sys

import logging

logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"C:\wamp64\www\AppDir")

from app_API import app as application

Файл app_API.py выглядит нравится. Ответ на этот вопрос был использован для создания другого класса

Объектно-ориентированный Python с Flask Сервером?

from flask import Flask, jsonify, request
from apilogic import apilogic
import logging
logging.basicConfig(filename='example.log',level=logging.DEBUG)
import os
class app_API:
    applogic= apilogic() #I want to load data once and not for every API call so doing this

from flask import Flask, jsonify, request
app = Flask(__name__)

@app.route("/getData")
def GetData():
    input=request.args.get('arg1')
    return app_API().applogic.send_data(input)

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

Что я такое делать неправильно? Любая помощь приветствуется. Спасибо

...