在共享主机服务器上使用Flask的问题



我正在尝试在BlueHost共享主机服务器上部署Flask应用程序。我一直在遵循这个指南。我做了一个更改,在.fcgi文件中。我不用flup。这是我的.fcgi文件(flask.fcgi):

#!/path/to/venv/bin/python
from wsgiref.handlers import CGIHandler
from server import app
CGIHandler().run(app)

我已经使文件可执行,当我从命令行(通过SSH)运行./flask.fcgi时,它返回索引路由的HTML页面,这是我所期望的。但如果我导航到mydomain.com/flask.fcgi,我收到一个500内部服务器错误。检查服务器日志,我可以看到这样的消息:

/path/to/venv/bin/python: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory

我在安装openssl之前遇到了这个错误,并通过设置LD_LIBRARY_PATH环境变量来包含库安装位置的路径来纠正它。这是我的.htaccess文件:

# For Flask
PassEnv LD_LIBRARY_PATH
PassEnv REQUEST_METHOD
Options +ExecCGI
AddHandler fcgid-script .fcgi
RewriteEngine On
# For Flask
RewriteCond %{REQUEST_FILENAME} !=/path/to/public_html/flask.fcgi
RewriteRule ^(.*)$ flask.fcgi/$1 [QSA,L]
RewriteOptions inherit

您可以看到,我试图传递LD_LIBRARY_PATH变量,但无济于事,我继续收到500个内部服务器错误,无论我是直接导航到mydomain.com/page还是mydomain.com/flask.fcgi

我完全不知道该怎么办了,请您帮助我将不胜感激。

所以我知道问题是什么了。在编译opensslpython之前,我需要设置LD_LIBRARY_PATHLD_RUN_PATH。我设置了路径,然后对openssl运行./Configuremake && make install,对python也是如此。

最新更新