我有一个flask服务器作为server.service文件中的服务运行。它运行良好,然后将数据库升级到MySQL,当服务运行时,它显示“内部服务器错误”,但是当我手动运行代码时,它运行良好。
这是我的server.service脚本:
[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时启动有关,但我不确定。任何想法将不胜感激。
答案 0 :(得分:0)
我是Linux新手,不知道如何查看服务日志文件。使用以下命令,我将错误追溯到数据库配置错误:
journalctl -u server.service