问题描述
我正在使用passenger
在Flask REST API
服务器上部署apache
。
这是我的Apache conf
文件:
<VirtualHost *:80>
ServerName demo.app.com
DocumentRoot /var/www/demo.app.com/backend # Backend is my venv
PassengerAppRoot /var/www/demo.app.com/backend/public # Public is where my code lives
PassengerPython /usr/bin/python3.8
PassengerAppType wsgi
PassengerStartupFile passenger_wsgi.py
<Directory /var/www/demo.worxmanager.com/backend>
Allow from all
Options -MultiViews
</Directory>
</VirtualHost>
因此,我进入后端文件夹(venv容器)并执行以下命令:
. ./bin/activate
pip3 install -r ./requirements.txt
一切都成功安装。我进入public folder
内部,然后进入app.py
内部,编写以下代码:
from flask import Flask
#I have more imports and routes,but didn't think they are relevant to my error.
@app.route('/api/user/register',methods=['POST'])
def register():
return user.register(request)
if __name__ == '__main__':
app.run()
from app import app as application
当我尝试run
或转到demo.app.com
时,出现以下错误:
App 12676 output: /usr/share/passenger/helper-scripts/wsgi-loader.py:26: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
App 12676 output: import sys,os,re,imp,threading,signal,traceback,socket,select,struct,logging,errno
App 12676 output: Traceback (most recent call last):
App 12676 output: File "/usr/share/passenger/helper-scripts/wsgi-loader.py",line 369,in <module>
App 12676 output: app_module = load_app()
App 12676 output: File "/usr/share/passenger/helper-scripts/wsgi-loader.py",line 76,in load_app
App 12676 output: return imp.load_source('passenger_wsgi',startup_file)
App 12676 output: File "/usr/lib/python3.8/imp.py",line 171,in load_source
App 12676 output: module = _load(spec)
App 12676 output: File "<frozen importlib._bootstrap>",line 702,in _load
App 12676 output: File "<frozen importlib._bootstrap>",line 671,in _load_unlocked
App 12676 output: File "<frozen importlib._bootstrap_external>",line 783,in exec_module
App 12676 output: File "<frozen importlib._bootstrap>",line 219,in _call_with_frames_removed
App 12676 output: File "/var/www/demo.app.com/backend/public/passenger_wsgi.py",line 1,in <module>
App 12676 output: from app import app as application
App 12676 output: File "/var/www/demo.app.com/backend/public/app.py",in <module>
App 12676 output: from Flabstraction.connect import *
App 12676 output: File "/var/www/demo.app.com/backend/public/Flabstraction/connect.py",in <module>
App 12676 output: from Flabstraction.Flabstraction import FlaskcfG,Pysqlalchemy
App 12676 output: File "/var/www/demo.app.com/backend/public/Flabstraction/Flabstraction.py",line 2,in <module>
App 12676 output: from flask import Flask
App 12676 output: ModuleNotFoundError: No module named 'flask'
[ E 2020-09-25 12:51:05.3383 12637/Tj age/Cor/App/Implementation.cpp:221 ]: Could not spawn process for application /var/www/demo.app.com/backend/public: The application process exited prematurely.
Error ID: 3611ba4d
Error details saved to: /tmp/passenger-error-6RDF9C.html
[ E 2020-09-25 12:51:05.3535 12637/T9 age/Cor/Con/CheckoutSession.cpp:276 ]: [Client 1-1] Cannot checkout session because a spawning error occurred. The identifier of the error is 3611ba4d. Please see earlier logs for details about the error.
这很奇怪,因为我在requirements
和系统本身上都安装了所有venv
。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)