Я работаю с приложением с Tensorflow. Теперь мне нужно обслуживать это приложение на основе фляги с помощью Ngnix. Я использовал этот документ на Digitalocean.
Приложение прямого обслуживания с uWSGI в порядке, но как только служба переносится на Nginx, я получаю внутреннюю ошибку службы (500).
service отлично работает без библиотеки Tensorflow и Keras, поэтому я уверен, что конфигурация сервера в порядке.
мой проект.ini:
[uwsgi]
module = wsgi
master = true
processes = 5
socket = myproject.sock
chmod-socket = 660
vacuum = true
die-on-term = true
/etc/systemd/system/myproject.service:
[Unit]
Description=uWSGI instance to serve myproject
After=network.target
[Service]
User=user
Group=nginx
WorkingDirectory=/home/user/myproject
Environment = "PATH=/home/user/myproject/myprojectenv/bin"
ExecStart=/home/user/myproject/myprojectenv/bin/uwsgi --ini myproject.ini
[Install]
WantedBy=multi-user.target
Большое спасибо. Также извините за мой английский.
Хорошо, я пытался изменить файл .ini, но это не сработало для меня. Например, добавить cheaper = 0
или изменить processes = 1
и master = false
. но кто-то сказал мне использовать gunicorn вместо uWSGI
, и это работает.
И так легко было переключиться с uWSGI на Gunicorn. На основании этого документа на Digitalocean вам просто нужно изменить
(/etc/systemd/system/myproject.service)
этот файл в строке 10 (часть ExecStart
)(/etc/nginx/nginx.conf)
этот файл в location
части** Если вы еще не настроили сервер, просто воспользуйтесь этой бумагой
Надеюсь быть полезным. Также извините за мой английский.