我正在嘗試在 BlueHost 共享托管服務器上部署 Flask 應用程式。我一直在關注本指南。我做了一個更改,那就是在.fcgi檔案中。我沒有使用flup. 這是我的.fcgi檔案(flask.fcgi):
#!/path/to/venv/bin/python
from wsgiref.handlers import CGIHandler
from server import app
CGIHandler().run(app)
我已經使檔案可執行,當我./flask.fcgi從命令列(通過 SSH)運行時,它回傳索引路由的 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變數,但無濟于事,無論我導航到mydomain.com/page還是mydomain.com/flask.fcgi直接導航到,我都會繼續收到 500 Internal Server 錯誤。
我完全不知道從這里去哪里,任何幫助將不勝感激。
uj5u.com熱心網友回復:
所以我弄清楚了問題所在。我需要在編譯之前設定LD_LIBRARY_PATHand和. 我設定了路徑,然后運行??and for ,同樣 for 。LD_RUN_PATHopensslpython./Configuremake && make installopensslpython
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/491629.html
標籤:Python 阿帕奇 .htaccess 烧瓶 快速cgi
