自己用 Django 做了个小站,在 Debian 上面部署 Django:2.2 Python:3.5
部署完以后想用 supervisor 来管理 Django (通过 Gunicorn ),celery 和 redis 单独管理 Django 的时候,一切问题没有。
然后在 supervisor 的配置文件里面加入了 celery 和 redis 的管理 program,如下方的配置。 但是运行 supervisorctl start all 之后,网站就再也跑步起来了,而且最奇怪的是,原因是 MYSQL 无法连接本地服务器 报警为: (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 111] Connection refused)")
百思不得其解,网上搜了几天了,没解决,请问大侠们有没有能帮忙的。。谢谢 PS:目前已经测试过:supervisor 中去掉 redis 的 program 去掉,留下 gunicorn 和 celery 的,也不行。
[program:celery] directory = /home/allen/NBAsite/NBAsite command = /home/allen/NBAsite/env/bin/celery -A NBAsite worker -B -l info autostart = true startsecs = 5 autorestart = true startretries = 3 user = allen redirect_stderr = true stdout_logfile_maxbytes = 20MB stdout_logfile_backups = 20 stdout_logfile = /home/allen/NBAsite/celery_log/allenbigbear_celery.log
[program:redis] directory = /usr/bin command = /usr/bin/redis-server autostart = true startsecs = 5 autorestart = true startretries = 3 user = root redirect_stderr = true stdout_logfile_maxbytes = 20MB stdout_logfile_backups = 20 stdout_logfile = /home/allen/NBAsite/redis_log/allenbigbear_redis.log
[program:NBAsite] directory = /home/allen/NBAsite/NBAsite command = /home/allen/NBAsite/env/bin/gunicorn NBAsite.wsgi:application -b 0.0.0.0:8000 autostart = true startsecs = 5 autorestart = true startretries = 3 user = allen redirect_stderr = true stdout_logfile_maxbytes = 20MB stdout_logfile_backups = 20 stdout_logfile = /home/allen/NBAsite/supervisor_log/allenbigbear.log
1
SmiteChow 2019-07-27 18:17:44 +08:00
不建议使用 supervisor 你可以自己写 shell 脚本监控 或者 crontab 都行
|
3
julyclyde 2019-07-27 19:41:51 +08:00
你这根本就是 mysql 服务没启动,但是你自己强行联想到和 supervisor 有关
时间上的相关关系 不等于因果关系!! |
4
wzwwzw 2019-07-28 01:13:43 +08:00
这个是 mysql 服务没有启动起来吧。
|
5
cz5424 2019-07-28 10:40:21 +08:00 via iPhone
专注 MySQL 为啥没起来,跟 supervisor 没啥关系
|
6
AllenBigBear OP @julyclyde 嗯,我双休日都在搞这个问题,我觉得不是 MYSQL 没有起来,因为打个比方,我单独运行 GUNICORN,MYSQL 数据返回没问题的。
如果我再运行 CELERY 命令,马上就出现问题了 导致问题的原因是,在 /var/run/下面,原本有 mysqld 的文件夹,里面是放着 sock 文件 但是一旦我运行了 celery 以后,这个 mysqld 文件夹马上消失了,只有重启我的 VPS 以后才能出现。 |
7
AllenBigBear OP @wzwwzw 我觉得 MYSQL 是起来了。。因为我单独运行 GUNICORN,网站是起得来的,MYSQL 返回数据也都正常。如上一层我的描述
|
8
AllenBigBear OP @cz5424 但是问题是我单独运行 GUNICORN 是可以的。。。请见 6 楼描述。。。
|
9
julyclyde 2019-07-30 13:07:39 +08:00
@AllenBigBear 这一定是幻觉!
|
10
AllenBigBear OP @julyclyde 总算找到问题了。。。。MySQL 占用内存太高了。。。我把 performance_schema=OFF 设置成关闭了,MYSQL 占用内存马上下来了,才 100 多 MB,另外还把 innoDB_pool_size 的数值也改小了,现在流畅了。。。。
|
11
julyclyde 2019-08-07 15:57:22 +08:00
@AllenBigBear 那你看看系统日志,可能有 oom killer 的记录
|
12
AllenBigBear OP @julyclyde 好的,请教一下,我用的是 debian,这个系统日志可以在哪里看?
|
13
julyclyde 2019-08-08 18:31:50 +08:00
@AllenBigBear /var/log/syslog 吧
|
14
AllenBigBear OP @julyclyde 好的,谢谢
|