首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Amazon linux上编写mod-wsgi脚本

在Amazon linux上编写mod-wsgi脚本
EN

Stack Overflow用户
提问于 2016-08-29 15:29:14
回答 1查看 75关注 0票数 0

我使用的是在Amazon linux上安装了mod-wsgihttpd2.4

我的wsgi脚本如下所示:

/projects/mv2/test/test.wsgi

代码语言:javascript
复制
import sys
import os

sys.path.insert(0, os.path.dirname(os.path.realpath(__file__)))

from test import *

/projects/mv2/test/test.py

代码语言:javascript
复制
from flask import Flask
app = Flask(__name__)

@app.route('/test')
def hello_world():
    return 'Hello, World!'

Apache conf文件

代码语言:javascript
复制
<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>

当我点击url http://test-algo.com/test时,我得到一个403响应和下面的httpd error file

代码语言:javascript
复制
[authz_core:error] [pid 27555] [client 153.156.225.142:65083] AH01630: client denied by server configuration: /projects/mv2/test/test.wgi

我找不到wsgi脚本的错误所在。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-29 17:41:33

Directory博客应该以以下内容开头:

代码语言:javascript
复制
<Directory /projects/mv2/test>

在路径的末尾有一个额外的test

这将导致403错误。

WSGI脚本还应该使用:

代码语言:javascript
复制
from test import app as application

WSGI入口点的名称应该是application,而不是您的Flask文件使用的app

如果不解决这个问题,在修复第一个错误后,您将得到一个不同的错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39200713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档