unix:///var/run/supervisor.sock 在重启主管期间拒绝连接
unix:///var/run/supervisor.sock refused connection during restarting supervisor
当我在 /etc/supervisor/conf.d/
中创建一个新的 .conf
文件并尝试启动该程序时,它显示了一些错误(致命错误)并经常自行重启。然后我 运行 命令 sudo service supervisor restart
但现在主管也停止了并且无法重新启动它。在解决我的错误期间,nginx
服务器也卡住了。
我花了很多时间恢复它 Alhamdulillah 并在答案部分写下解决方案。
不要完全相信针对您的问题的解决方案。您的问题也可能属于其他问题。
有时 Supervisor 会在您重新启动时显示以下可怕的错误
服务(通过命令 sudo service supervisor restart):
unix:///var/run/supervisor.sock refused connection
尝试用命令 supervisord
诊断问题。您也可以 运行 journalctl -xe
.
问题与解决方案:
当您将新的 .conf
文件写入 /etc/supervisor/conf.d
目录中时,其中包含一些生成错误的语句。
比如,您编写了一些语句,这些语句将 运行 一个脚本。该脚本包含一些 运行sGunicorn
部署 python 网络应用程序的语句。在脚本中,您编写了一条语句来绑定 unix 套接字。但是提到的将创建 unix 套接字的目录不允许在那里创建 .sock
文件。这会导致权限错误。
演示 gunicorn 命令如下:
SOCKFILE = /home/shamim/python_project/another_directroy/gunicorn.sock
gunicorn ${DJANGO_WSGI_MODULE}:application \
--name $NAME \
--bind=unix:$SOCKFILE
如果 another_directory
未授予在其中创建 .sock
文件的权限,则可能会发生错误。所以给它足够的权限从外面在这里创造一些东西。或者,绑定 IP 和端口而不是 unix 套接字(如 127.0.0.1:ANY_PORT
)。首先确保该端口未被其他应用程序使用。
有时,如果在 .conf
文件中使用任何目录路径,但实际上该目录根本不存在,则会发生错误。
现在 运行 命令 supervisord
。
如果在解决上述问题后错误仍然存在并且现在显示如下错误 -
another program is already listening on a port that one of our HTTP servers is configured to use
然后 运行 下面的命令来解决这个问题:
sudo unlink /var/run/supervisor.sock
如果上面的命令不起作用你应该检查运行 unlink the file at /tmp/supervisor.sock
请记住 nginx 服务器也可能会显示一些错误并且无法执行
如果任何 .conf
文件包含一些语句,其中一个套接字,则重新启动(或启动)
被使用但实际上套接字文件不存在或没有足够的权限执行。
示例:如果您在任何 nginx 文件配置中编写以下代码:
upstream surveyapp_payment_stripe {
server unix:/home/shamim/python_project/another_directroy/gunicorn.sock fail_timeout=0 weight=5 max_fails=3;
}
如果上述套接字不存在或没有足够的权限,则可能会发生一些错误。
如果此处使用了任何目录路径但根本不存在,Nginx 也会显示错误。此时要 运行 nginx 快速删除 .conf
文件或编辑它的扩展名(创建另一个不同于 .conf
的扩展名类型)。
希望这个解释对以后的人有所帮助。
当我在 /etc/supervisor/conf.d/
中创建一个新的 .conf
文件并尝试启动该程序时,它显示了一些错误(致命错误)并经常自行重启。然后我 运行 命令 sudo service supervisor restart
但现在主管也停止了并且无法重新启动它。在解决我的错误期间,nginx
服务器也卡住了。
我花了很多时间恢复它 Alhamdulillah 并在答案部分写下解决方案。
不要完全相信针对您的问题的解决方案。您的问题也可能属于其他问题。
有时 Supervisor 会在您重新启动时显示以下可怕的错误 服务(通过命令 sudo service supervisor restart):
unix:///var/run/supervisor.sock refused connection
尝试用命令 supervisord
诊断问题。您也可以 运行 journalctl -xe
.
问题与解决方案:
当您将新的
.conf
文件写入/etc/supervisor/conf.d
目录中时,其中包含一些生成错误的语句。 比如,您编写了一些语句,这些语句将 运行 一个脚本。该脚本包含一些 运行sGunicorn
部署 python 网络应用程序的语句。在脚本中,您编写了一条语句来绑定 unix 套接字。但是提到的将创建 unix 套接字的目录不允许在那里创建.sock
文件。这会导致权限错误。演示 gunicorn 命令如下:
SOCKFILE = /home/shamim/python_project/another_directroy/gunicorn.sock
gunicorn ${DJANGO_WSGI_MODULE}:application \
--name $NAME \
--bind=unix:$SOCKFILE
如果 another_directory
未授予在其中创建 .sock
文件的权限,则可能会发生错误。所以给它足够的权限从外面在这里创造一些东西。或者,绑定 IP 和端口而不是 unix 套接字(如 127.0.0.1:ANY_PORT
)。首先确保该端口未被其他应用程序使用。
有时,如果在
.conf
文件中使用任何目录路径,但实际上该目录根本不存在,则会发生错误。现在 运行 命令
supervisord
。 如果在解决上述问题后错误仍然存在并且现在显示如下错误 -another program is already listening on a port that one of our HTTP servers is configured to use
然后 运行 下面的命令来解决这个问题:
sudo unlink /var/run/supervisor.sock
如果上面的命令不起作用你应该检查运行
unlink the file at /tmp/supervisor.sock
请记住 nginx 服务器也可能会显示一些错误并且无法执行
如果任何 .conf
文件包含一些语句,其中一个套接字,则重新启动(或启动)
被使用但实际上套接字文件不存在或没有足够的权限执行。
示例:如果您在任何 nginx 文件配置中编写以下代码:
upstream surveyapp_payment_stripe {
server unix:/home/shamim/python_project/another_directroy/gunicorn.sock fail_timeout=0 weight=5 max_fails=3;
}
如果上述套接字不存在或没有足够的权限,则可能会发生一些错误。
如果此处使用了任何目录路径但根本不存在,Nginx 也会显示错误。此时要 运行 nginx 快速删除 .conf
文件或编辑它的扩展名(创建另一个不同于 .conf
的扩展名类型)。
希望这个解释对以后的人有所帮助。