我正在尝试在 Apache 服务器上使用 mod_wsgi 使用Flask应用程序设计RESTful API,并且导入时遇到错误 Apache 服务器中的ssl 模块。 我已经从https://www.apachelounge.com/download/安装了Apache 2.4,并使用pip安装了mod_wsgi,并在Apache服务器中对其进行了配置。
我创建了一个简单的Flask应用程序:
from flask import Flask '
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World"
if __name__ == "__main__":
app.run()
我创建了一个web.wsgi文件:
import sys
sys.path.insert(0, 'C:/Users/chant/myapp')
from final_app import app as application
并通过将以下代码粘贴到http-vhosts.conf中,使用它为Flask App配置虚拟主机:
<VirtualHost *:5000>
ServerName localhost
WSGIScriptAlias / "C:/Users/chant/myapp/web.wsgi"
DocumentRoot "C:/Users/chant/myapp"
ErrorLog "C:/Users/chant/myapp/logs/error.log"
CustomLog "C:/Users/chant/myapp/logs/access.log" common
我的错误日志显示:
File "c:\\programdata\\anaconda3\\Lib\\ssl.py", line 98, in <module>\r
import _ssl # if we can't import it, let the error propagate\r
ImportError: DLL load failed: The specified module could not be found.\r
尽管我尝试测试了导入模块,并且它是在python中运行的,但是它并未在Apache服务器中导入。
如果有人有任何建议,将不胜感激。
答案 0 :(得分:0)
稍后我注意到,Flask应用程序部署的重要部分是应为所有用户安装Python,否则Apache服务器将无法导入ssl模块。
希望这会有所帮助!