我正在尝试使用uwsgi将flask应用程序作为服务运行。但是出现错误:
uWSGI进程17078出现分段错误
这是我尝试过的:
manage.py
from flask_script import Manager
from flask_migrate import Migrate,MigrateCommand
from whatsapp_api import ms_crm_whatsapp,db
migrate = Migrate(ms_crm_whatsapp,db)
manager = Manager(ms_crm_whatsapp)
manager.add_command('db',MigrateCommand)
如果名称 =='主要”: manager.run()
database.py
from whatsapp_api import db
from sqlalchemy.dialects.postgresql import JSON
# print('db##############',db)
class TempTable(db.Model):
# print('TempTable')
__tablename__ = 'crm_user_chat_data'
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String())
case_type = db.Column(db.String())
sub_type = db.Column(db.String())
number = db.Column(db.String())
description = db.Column(db.String())
crm_customer_id = db.Column(db.String())
title = db.Column(db.String())
def __init__(self,name,case_type,number,description,sub_type,crm_customer_id,title):
print('inside __init__')
self.name = name
self.case_type = case_type
self.number = number
self.description = description
self.sub_type = sub_type
self.crm_customer_id = crm_customer_id
self.title = title
def __repr__(self):
print('__repr__',__repr__)
return '<id {}>'.format(self.id)
whatsapp_api.py
from flask import flask,request,jsonify
import time
import requests
import json
import re
from nltk.chat.util import Chat,reflections
from flask_sqlalchemy import SQLAlchemy
import psycopg2
ms_crm_whatsapp = flask(__name__)
ms_crm_whatsapp.config["DEBUG"] = True
ms_crm_whatsapp.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
ms_crm_whatsapp.config["SQLALCHEMY_DATABASE_URI"] = 'postgresql://user:user_password@localhost:5432/db_name'
db = SQLAlchemy(ms_crm_whatsapp)
from database import TempTable
con = psycopg2.connect("host=localhost dbname=db_name user=user password=user_password")
cur = con.cursor()
@ms_crm_whatsapp.route('/',methods=['GET','POST'])
def home():
return "<h1> Hello welcome to the world of flask"
ms_crm_whatsapp.run(host ='0.0.0.0'port = 3000)
我正在运行python3 manage.py
之类的应用
wsgi.py
from whatsapp_api import ms_crm_whatsapp
if __name__ == "__main__":
ms_crm_whatsapp.run()
在终端中,我尝试过
uwsgi --socket 0.0.0.0:3000 --protocol=http -w wsgi:ms_crm_whatsapp
在终端我得到:
*于[Tue Nov 5 17:05:48 2019]开始uWSGI 2.0.18(64位) 编译与版本:7.4.0 on 2019年11月5日10:27:46 操作系统:Linux-4.15.0-66-generic#75-Ubuntu SMP Tue Oct 1 05:24:09 UTC 2019 节点名称:lenovo-v330-kbir 机器:x86_64 时钟源:Unix pcre jit已禁用 检测到的CPU内核数:8 当前工作目录:/ home / user / python-environments / ms_crm_whatsapp_poc 检测到的二进制路径:/ home / user / python-environments / flask_venv / bin / uwsgi 警告:您正在运行uWSGI,而没有其主流程管理器 您的进程数限制为30456 您的内存页面大小为4096字节 检测到的最大文件描述符数:1024 锁引擎:pthread健壮的互斥锁 雷电锁:禁用(您可以使用--thunder-lock启用它) uwsgi套接字0绑定到TCP地址0.0.0.0:3000 fd 3 Python版本:3.6.8(默认值,2019年10月7日,12:59:55)[GCC 8.3.0] Python线程支持已禁用。您可以使用--enable-threads 启用它 Python主解释器初始化为0x55f79717ce50 您的服务器套接字监听积压限制为100个连接 您对工人进行优雅操作的怜悯为60秒 1个内核的映射72920字节(71 KB) 操作模式:单进程 无法从multiprocessing.semaphore_tracker import main; main(4)加载配置 /home/user/.local/lib/python3.6/site-packages/psycopg2/init.py:144:UserWarning:psycopg2 wheel软件包将从2.8版重命名;为了保持二进制安装,请改用“ pip install psycopg2-binary”。有关详细信息,请参见:http://initd.org/psycopg/docs/install.html#binary-install-from-pypi。 “”“) !!! uWSGI进程19684出现分段错误!!! 回溯19684个 uwsgi(uwsgi_backtrace + 0x2a)[0x55f79555a3da] uwsgi(uwsgi_segfault + 0x23)[0x55f79555a7c3] /lib/x86_64-linux-gnu/libc.so.6(+0x3ef20)[0x7f8abd3ddf20] /home/user/.local/lib/python3.6/site-packages/psycopg2/.libs/./libssl-c0c2ede4.so.1.0.2q(ssl3_cleanup_key_block+0xb)[0x7f8a81ae1cab] /home/user/.local/lib/python3.6/site-packages/psycopg2/.libs/./libssl-c0c2ede4.so.1.0.2q(ssl3_clear+0x16)[0x7f8a81adf5a6] /home/user/.local/lib/python3.6/site-packages/psycopg2/.libs/./libssl-c0c2ede4.so.1.0.2q(tls1_clear+0x9)[0x7f8a81aeb219] /usr/lib/x86_64-linux-gnu/libssl.so.1.1(SSL_new+0x3f2)[0x7f8abe9369e2] /home/user/.local/lib/python3.6/site-packages/psycopg2/.libs/libpq-bd31fe2b.so.5.11(+0x23969)[0x7f8a81d76969] /home/user/.local/lib/python3.6/site-packages/psycopg2/.libs/libpq-bd31fe2b.so.5.11(+0x24fc5)[0x7f8a81d77fc5] /home/user/.local/lib/python3.6/site-packages/psycopg2/.libs/libpq-bd31fe2b.so.5.11(PQconnectPoll+0xb78)[0x7f8a81d61ba8] /home/user/.local/lib/python3.6/site-packages/psycopg2/.libs/libpq-bd31fe2b.so.5.11(+0xfa28)[0x7f8a81d62a28] /home/user/.local/lib/python3.6/site-packages/psycopg2/.libs/libpq-bd31fe2b.so.5.11(PQconnectdb+0x1f)[0x7f8a81d6541f] /home/user/.local/lib/python3.6/site-packages/psycopg2/_psycopg.cpython-36m-x86_64-linux-gnu.so(+0x12b01)[0x7f8a81fb6b01] /home/user/.local/lib/python3.6/site-packages/psycopg2/_psycopg.cpython-36m-x86_64-linux-gnu.so(+0x1388f)[0x7f8a81fb788f] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x1fc402)[0x7f8abdbc4402] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyObject_FastCallDict+0x89)[0x7f8abdc2f169] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyObject_CallFunction_SizeT+0x124)[0x7f8abdc2fb84] /home/user/.local/lib/python3.6/site-packages/psycopg2/_psycopg.cpython-36m-x86_64-linux-gnu.so(+0xc258)[0x7f8a81fb0258] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyCFunction_Call+0x96)[0x7f8abdbdb976] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_evalframeDefault+0x76e0)[0x7f8abdb4cd80] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17bc6f)[0x7f8abdb43c6f] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17c35c)[0x7f8abdb4435c] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_evalframeDefault+0x4ec3)[0x7f8abdb4a563] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17bc6f)[0x7f8abdb43c6f] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyEval_EvalCodeEx+0x3e)[0x7f8abdb4472e] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyEval_EvalCode+0x1b)[0x7f8abdb454ab] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x1887bd)[0x7f8abdb507bd] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyCFunction_Call+0xc1)[0x7f8abdbdb9a1] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_evalframeDefault+0x76e0)[0x7f8abdb4cd80] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17bc6f)[0x7f8abdb43c6f] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17c35c)[0x7f8abdb4435c] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_evalframeDefault+0x4ec3)[0x7f8abdb4a563] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17aa63)[0x7f8abdb42a63] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17c51e)[0x7f8abdb4451e] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_evalframeDefault+0x4ec3)[0x7f8abdb4a563] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17aa63)[0x7f8abdb42a63] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17c51e)[0x7f8abdb4451e] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_evalframeDefault+0x4ec3)[0x7f8abdb4a563] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17aa63)[0x7f8abdb42a63] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17c51e)[0x7f8abdb4451e] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_evalframeDefault+0x4ec3)[0x7f8abdb4a563] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17aa63)[0x7f8abdb42a63] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyFunction_FastCallDict+0x2d5)[0x7f8abdb44085] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyObject_FastCallDict+0x131)[0x7f8abdc2f211] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyObject_CallMethodIdObjArgs+0xe6)[0x7f8abdc2f576] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyImport_ImportModuleLevelObject+0x45c)[0x7f8abda38b2c] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_evalframeDefault+0x77ca)[0x7f8abdb4ce6a] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17bc6f)[0x7f8abdb43c6f] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyEval_EvalCodeEx+0x3e)[0x7f8abdb4472e] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyEval_EvalCode+0x1b)[0x7f8abdb454ab] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x1887bd)[0x7f8abdb507bd] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyCFunction_Call+0xc1)[0x7f8abdbdb9a1] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_evalframeDefault+0x76e0)[0x7f8abdb4cd80] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17bc6f)[0x7f8abdb43c6f] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17c35c)[0x7f8abdb4435c] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_evalframeDefault+0x4ec3)[0x7f8abdb4a563] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17aa63)[0x7f8abdb42a63] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17c51e)[0x7f8abdb4451e] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_evalframeDefault+0x4ec3)[0x7f8abdb4a563] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17aa63)[0x7f8abdb42a63] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17c51e)[0x7f8abdb4451e] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_evalframeDefault+0x4ec3)[0x7f8abdb4a563] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17aa63)[0x7f8abdb42a63] /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17c51e)[0x7f8abdb4451e] 回溯结束*