在 CentOS 7 上使用 uWSGI 和 Nginx 以及 Tensorflow 服务基于 Flask 的应用程序时出现问题

Problem serving Flask based applications with uWSGI and Nginx and Tensorflow on CentOS 7

我正在使用 Tensorflow 为应用程序提供服务。现在我需要使用 Ngnix 为这个基于烧瓶的应用程序提供服务。我在 Digitalocean 上使用了这个 document

使用 uWSGI 的直接服务应用程序没问题,但是一旦服务转移到 Nginx,我就会收到内部服务错误 (500)。

服务在没有 Tensorflow 和 Keras 库的情况下工作正常,所以我很确定服务器配置没问题。

myproject.ini:

[uwsgi]
module = wsgi
    
master = true
processes = 5
    
socket = myproject.sock
chmod-socket = 660
vacuum = true

die-on-term = true

/etc/systemd/system/myproject.服务:

[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 = 1master = false。但有人告诉我使用 gunicorn 而不是 uWSGI 就可以了。

从 uWSGI 切换到 Gunicorn 非常容易。基于this document on Digitalocean你只需要改变

  1. (/etc/systemd/system/myproject.service) 此文件第 10 行(ExecStart 部分)
  2. (/etc/nginx/nginx.conf) 此文件在 location 部分

** 如果您还没有配置服务器,只需使用 this paper

希望对你有用。也对不起我的英语。