我决定将Redash服务器升级到版本5,这是因为redsah是现成的,使用nginx作为Web服务器,使用gunicorn作为应用程序服务器和Flask,并且我想使用uwsgi作为应用程序服务器,所以我更改了以下行:
exec /usr/local/bin/gunicorn --timeout 300 -b 0.0.0.0:5000 --name redash -w${REDASH_WEB_WORKERS:-4} redash.wsgi:app
到:
exec /usr/local/bin/uwsgi --ini redash.ini
其中redash.ini
:
[uwsgi]
module = redash.wsgi:app
harakiri = 300
master = true
processes = 4
threads = 4
thunder-lock = true
socket = :5000
protocol = http
enable-threads = true
callable = app
disable-logging=False
我的项目如下:
app
├── CHANGELOG.md
├── CONTRIBUTING.md
├── Dockerfile
├── Dockerfile.cypress
├── Jenkinsfile
├── LICENSE
├── Makefile
├── README.md
├── bin
│ ├── bundle-extensions
│ ├── docker-entrypoint
│ ├── flake8_tests.sh
│ ├── get_changes.py
│ ├── pack
│ ├── pre_compile
│ ├── release_manager.py
│ ├── run
│ └── upgrade
├── client
│ └── app
├── docker-compose.production.yml
├── docker-compose.yml
├── manage.py
├── netlify.toml
├── now.json
├── package-lock.json
├── package.json
├── pytest.ini
├── redash
│ ├── __init__.py
│ ├── admin.py
│ ├── authentication
│ ├── cli
│ ├── destinations
│ ├── extensions.py
│ ├── handlers
│ ├── metrics
│ ├── models.py
│ ├── monitor.py
│ ├── permissions.py
│ ├── query_runner
│ ├── serializers.py
│ ├── settings
│ ├── tasks
│ ├── templates
│ ├── utils
│ ├── version_check.py
│ ├── worker.py
│ └── wsgi.py
├── redash.ini
├── requirements.txt
├── requirements_all_ds.txt
├── requirements_dev.txt
├── requirements_oracle_ds.txt
├── setup
│ ├── README.md
│ ├── docker-compose.yml
│ ├── generate_key.sh
│ ├── packer.json
│ └── setup.sh
├── setup.cfg
├── tests
│ ├── __init__.py
│ ├── factories.py
│ ├── handlers
│ ├── models
│ ├── query_runner
│ ├── tasks
│ ├── test_authentication.py
│ ├── test_cli.py
│ ├── test_configuration.py
│ ├── test_handlers.py
│ ├── test_models.py
│ ├── test_permissions.py
│ └── test_utils.py
└── webpack.config.js
问题是,当我切换到uwsgi并尝试浏览到redash登录屏幕时,尝试获取TemplateNotFound
文件时,我从flask
中获得了login.html
异常。
我没有在上面的执行行旁边的项目中进行任何更改,它在gunicorn
下可以正常工作。
知道uwsgi中的什么会导致此异常吗?为什么uwsgi行为不同并且找不到模板文件夹?