如何在 apache windows 10 中使用烧瓶修复错误 500

时间:2021-04-28 20:48:54

标签: python apache flask localhost virtualhost

我正在尝试在 apache24 上运行一个简单的 Flask 应用程序,但最终出现内部服务器错误,我将附上我的配置文件和代码。

httpd.conf

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

在结束文件我添加这个:

AddHandler wsgi-script .wsgi
ScriptInterpreterSource Registry-Strict

LoadFile "c:/program files/python39/python39.dll"
LoadModule wsgi_module "c:/program files/python39/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win_amd64.pyd"
WSGIPythonHome "c:/program files/python39"

httpd-vhost.conf:

<VirtualHost *>
    WSGIScriptAlias /SISPRAA "C:/Apache24/htdocs/SISPRAA/main.wsgi"
    <Directory "C:/Apache24/htdocs/SISPRAA">
        Require all granted
        Options Indexes FollowSymLinks Includes ExecCGI
    </Directory>
</VirtualHost>

这是我的 app.py

from flask import Flask, render_template
from flask_material import Material
from flask_fontawesome import FontAwesome
from pathlib import Path
from flask import send_file
import os
import re
import datetime
from lib.pyReportInfinited import init
from flask import jsonify 


app = Flask(__name__)
Material(app)
fa = FontAwesome(app)
downloads_path = str(Path.home() / "Downloads")

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



@app.route('/makeReport', methods=["GET", "POST"])
def makeReport():

    #print ("init..")
    init()
    return jsonify(msg='end')


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

这是 main.wsgi:

import sys
sys.path.insert(0, "C:/Apache24/htdocs/SISPRAA/")

from app import index as application

此结果错误 500 内部服务器:

enter image description here

如果我没有找到最后一行错误:

enter image description here

如果我只导航到本地主机,那没问题:

enter image description here

apache 错误日志

AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::d972:78ad:5f99:ed39. Set the 'ServerName' directive globally to suppress this message
[Wed Apr 28 19:11:52.022705 2021] [core:warn] [pid 8264:tid 680] AH00098: pid file C:/Apache24/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Wed Apr 28 19:11:52.022705 2021] [mpm_winnt:notice] [pid 8264:tid 680] AH00455: Apache/2.4.46 (Win64) mod_wsgi/4.7.1 Python/3.9 configured -- resuming normal operations
[Wed Apr 28 19:11:52.022705 2021] [mpm_winnt:notice] [pid 8264:tid 680] AH00456: Apache Lounge VS16 Server built: Mar 27 2021 11:42:37
[Wed Apr 28 19:11:52.022705 2021] [core:notice] [pid 8264:tid 680] AH00094: Command line: 'C:\\Apache24\\bin\\httpd.exe -d C:/Apache24'
[Wed Apr 28 19:11:52.022705 2021] [mpm_winnt:notice] [pid 8264:tid 680] AH00418: Parent: Created child process 15872
AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::d972:78ad:5f99:ed39. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::d972:78ad:5f99:ed39. Set the 'ServerName' directive globally to suppress this message
[Wed Apr 28 19:11:52.428805 2021] [mpm_winnt:notice] [pid 15872:tid 784] AH00354: Child: Starting 64 worker threads.
[Wed Apr 28 19:11:57.598808 2021] [wsgi:error] [pid 15872:tid 1288] [client ::1:54512] mod_wsgi (pid=15872): Exception occurred processing WSGI script 'C:/Apache24/htdocs/SISPRAA/main.wsgi'.
[Wed Apr 28 19:11:57.598808 2021] [wsgi:error] [pid 15872:tid 1288] [client ::1:54512] TypeError: index() takes 0 positional arguments but 2 were given\r

有人可以帮我吗?请

1 个答案:

答案 0 :(得分:0)

尝试使用以下命令测试您的 httpd.conf 文件:

httpd -t -f /path/to/httpd.conf

而且如果您在 Windows 操作系统中使用反斜杠而不是斜杠(\ 而不是 /)来标识文件系统中的某个路径会更好。