本地开发的flask+mysql程序,本地运行良好。放到ubuntu20.上面使用nginx+uwsgi+flask+mysq 则出现(pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 111] Connection refused)")的错误。
nginx配置:
server {
listen 80;
listen [::]:80;
server_name localhost;
location / {
include uwsgi_params;
uwsgi_pass unix:/var/www/joinyond/joinyond_uwsgi.sock;
}
}
uwsgi配置:
[uwsgi]
app = main
;指定程序文件?
module = %(app)
callable = app
;指定入口
master = true
;以主模式启动
processes = 5
;5个进程
chdir = /var/www/joinyond
;工作目录
socket = /var/www/joinyond/joinyond_uwsgi.sock
;套接字文件路径
chmod-socket = 666
;权限
vacuum = true
;回收资源
die-on-term = true
;用来保持和uwsgi一致
(pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 111] Connection refused)")
刚开始怀疑mysql账户没有配置好,但是经过测试:可以远程连接mysql数据库,可以在终端使用命令登录数据库,可以在ubuntu服务器上面单独使用flask运行web成功操作数据库。故现在怀疑是nginx 代理 破坏了mysql连接。(web程序和mysql数据库同一个服务器)
希望可以找出nginx+uwsgi+flask 无法连接mysql的原因。