Python 从服务运行时出现服务器内部服务器错误
我有一个flask服务器,它作为server.service文件中的服务运行。它工作得很好,然后我将数据库升级到MySQL,当服务运行时,它会显示“内部服务器错误”,但当我手动运行代码时,它工作得很好 这是我的server.service脚本:Python 从服务运行时出现服务器内部服务器错误,python,mysql,ubuntu,flask,server,Python,Mysql,Ubuntu,Flask,Server,我有一个flask服务器,它作为server.service文件中的服务运行。它工作得很好,然后我将数据库升级到MySQL,当服务运行时,它会显示“内部服务器错误”,但当我手动运行代码时,它工作得很好 这是我的server.service脚本: [Unit] Description=Server After=multi-user.target [Service] WorkingDirectory=/home/jon/server ExecStart=/home/jon/server/env/b
[Unit]
Description=Server
After=multi-user.target
[Service]
WorkingDirectory=/home/jon/server
ExecStart=/home/jon/server/env/bin/gunicorn -k gevent -b 0.0.0.0:5080 app:app
Restart=always
[Install]
RequiredBy = multi-user.target
当我导航到终端中的正确位置并运行以下操作时,一切正常:
/home/jon/server/env/bin/gunicorn -k gevent -b 0.0.0.0:5080 app:app
我已经多次重新加载并重新启动了守护进程。这是我的config.py供参考
# -*- coding: utf8 -*-
import os
basedir = os.path.abspath(os.path.dirname(__file__))
#WTForms confiuration
CSRF_ENABLED = True
SECRET_KEY = 'you-will-never-guess'
#SQL Alchemy Database config
if os.environ.get('DATABASE_URL') is None:
print('USING SQLIte')
SQLALCHEMY_TRACK_MODIFICATIONS = False
SQLALCHEMY_DATABASE_URI = ('sqlite:///' + os.path.join(basedir, 'app.db') + '?check_same_thread=False')
else:
print('Using MySQL')
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL')
SQLALCHEMY_TRACK_MODIFICATIONS = False
#SQLALCHEMY_TRACK_MODIFICATIONS = False
#SQLALCHEMY_DATABASE_URI = ('mysql+pymysql://username:password@localhost/20200830MYSQL')
SQLALCHEMY_MIGRATE_REPO = os.path.join(basedir, 'db_repository')
SQLALCHEMY_RECORD_QUERIES = True
WHOOSH_BASE = os.path.join(basedir, 'search.db')
# slow database query threshold (in seconds)
DATABASE_QUERY_TIMEOUT = 0.5
#File Upload Config
ALLOWED_EXTENSIONS = set(['html', 'htm', 'xlsx'])
# administrator list
ADMINS = ['#you@12example.com']
# pagination
POSTS_PER_PAGE = 50
MAX_SEARCH_RESULTS = 50
我假设它与mysql启动有关,但我不确定。任何想法都将不胜感激。我是linux新手,不知道如何查看服务日志文件。使用以下命令,我将错误追溯到配置不正确的数据库:
journalctl -u server.service
我是linux新手,不知道如何查看服务日志文件。使用以下命令,我将错误追溯到配置不正确的数据库:
journalctl -u server.service
“内部服务器错误”()是一条通用的服务器端错误消息。它本身并没有告诉我们任何有用的东西。任何时候你看到这一点,你的第一步应该是检查你的错误日志以了解更多细节。谢谢回复。我通过运行以下命令发现了问题:journalctl-u服务名称“internalserver Error”()是一条通用的服务器端错误消息。它本身并没有告诉我们任何有用的东西。任何时候你看到这一点,你的第一步应该是检查你的错误日志以了解更多细节。谢谢回复。我通过运行以下命令发现了问题:journalctl-u service name