504连接错误Flask Nginx uWSGI Ubuntu

时间:2019-05-13 00:16:06

标签: python mysql nginx flask uwsgi

您好,我希望我可以在此问题上得到一些指导。 我有一个在ubuntu服务器上安装的flask应用程序。它使用ssh创建到具有mysql数据库的Centos 7服务器的隧道。在Ubuntu Server上使用python运行此应用程序后,我可以完美登录到我的应用程序并查看来自域ip的数据库中的数据。现在,当尝试在nginx和uWSGI上运行应用程序时,我实际上可以从我的域名进入登录页面。但是在输入我的凭据并尝试登录后,页面加载了大约一分钟,并且我收到 504连接超时错误

我是否会收到此消息,因为我的应用程序在处理来自我的数据时试图与另一台服务器联系。我不确定,没有任何帮助。这是我的文件

服务器阻止

    #include "mainwindow.h"
    #include "HalconCpp.h"
    #include "HDevThread.h"
    #include "ui_mainwindow.h"
    #include <QFileDialog>
    #include <QMessageBox>
    #include <QDir>
    #include <QRadioButton>
    using namespace std;
    using namespace HalconCpp;

    MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
    {
    ..............................
    }

    MainWindow::~MainWindow()
    {
    delete ui;
    }

    ////Slot function of button "Read"
    void MainWindow::on_pushButton_clicked()
    {

    ....................

    }

    //Slot function of button "Detect"
    void MainWindow::on_pushButton_2_clicked()
    {
    if(ui->radioButton->isChecked())
    {
    ................................


    }

    if(ui->radioButton_2->isChecked())
     {
    ...........

    **scale_image_range(ho_img2, &ho_img3, 20, 220);**

     .............................

}

ini文件

server {
    listen 80;
    server_name itinareport.tk www.itinareport.tk;

    location / {
        uwsgi_read_timeout 600;
        include uwsgi_params;
        uwsgi_pass unix:/home/pinchrep2/itinarep/itinarep.sock;
    }
}

wsgi.py

[uwsgi]
module = wsgi:app

master = true
processes = 5

socket = itinarep.sock
chmod-socket = 660
vacuum = true

die-on-term=true

服务文件

from main import  app


if __name__ == "__main__":
    app.run()

这是我从主py文件ssh的地方 main.py

[Unit]
Description=uWSGI instance to serve itinarep
After=network.target

[Service]
User=pinchrep2
Group=www-data
WorkingDirectory=/home/pinchrep2/itinarep
Environment="PATH=/home/pinchrep2/itinarep/it_venv/bin"
ExecStart=/home/pinchrep2/itinarep/it_venv/bin/uwsgi --ini itinarep.ini

[Install]
WantedBy=multi-user.target

再次,我只需要部署它。请指向正确的方向进行明智的配置。我可以进入应用程序,但是登录后立即收到此问题。

1 个答案:

答案 0 :(得分:0)

当您的数据库连接网址引用“ localhost”时,它实际上是通过unix套接字连接的。

您可以使用包含unix套接字的local_bind_address进行连接,该套接字将?unix_socket=/path/to/mysql.sockthis answer一样添加到SQLALCHEMY_DATABASE_URI

似乎连接到远程unix套接字正在等待this upstream issue的实现。