Я развернул приложение 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()
Что я такое делать неправильно? Любая помощь приветствуется. Спасибо