Написание скрипта mod-wsgi на Amazon Linux
Я использую httpd2.4
с mod-wsgi
установлен на Amazon Linux.
мой wsgi
Сценарий выглядит так:
/projects/mv2/test/test.wsgi
import sys
import os
sys.path.insert(0, os.path.dirname(os.path.realpath(__file__)))
from test import *
/projects/mv2/test/test.py
from flask import Flask
app = Flask(__name__)
@app.route('/test')
def hello_world():
return 'Hello, World!'
Apache conf файл
<VirtualHost *:80>
ServerName test-algo.com
WSGIDaemonProcess algos_app user=mv2 group=mv2 threads=1
WSGIScriptAlias / /projects/mv2/test/test.wsgi
<Directory /projects/mv2/test/test>
WSGIProcessGroup algos_app
WSGIApplicationGroup %{GLOBAL}
Options MultiViews FollowSymLinks
AllowOverride all
Require all granted
</Directory>
</VirtualHost>
Когда я нажму на ссылку http://test-algo.com/test
Я получаю ответ 403 и следующее httpd error file
[authz_core:error] [pid 27555] [client 153.156.225.142:65083] AH01630: client denied by server configuration: /projects/mv2/test/test.wgi
Я не могу найти, что не так с wsgi
скрипт.
1 ответ
Решение
Directory
блог должен начинаться с:
<Directory /projects/mv2/test>
У вас есть дополнительный test
в конце пути.
Это вызвало бы ошибку 403.
Скрипт WSGI также должен использовать:
from test import app as application
Ожидается, что имя точки входа WSGI будет application
не app
как ваш файл Flask использует.
Если не исправить это, вы получите другую ошибку после исправления первой.