Supervisor - 用户名无效

7

我正在尝试在Ubuntu 16.04上运行supervisor。安装过程没有问题。我创建了文件/etc/supervisor/conf.d/test.conf。

[program:test]
process_name=%(program_name)s_%(process_num)02d
command=php /data/web/test.com/web/artisan queue:work --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=forge
numprocs=8
redirect_stderr=true
stdout_logfile=/data/web/test.com/web/storage/logs/workers.log

但是当我运行命令时

supervisorctl reread

我遇到了以下错误:
错误:CANT_REREAD:在“program:test”部分(文件:“/etc/supervisor/conf.d/test.conf”)中,用户名forge无效。
有什么想法吗?尝试搜索解决方案,但仍然不起作用...

1
cat /etc/passwd | grep force 确认用户名是否存在? - Scott Stensland
2个回答

21

user 字段在 Supervisor 进程配置文件中不是必需的,如果您不需要特定用户来运行任务,只需注释带有 ; 的行即可。

例如,在 Laravel Artisan 命令中:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/forge/app.com/artisan queue:work sqs --sleep=3 --tries=3
autostart=true
autorestart=true
;user=forge
numprocs=8
redirect_stderr=true
stdout_logfile=/home/forge/app.com/worker.log

1
提醒其他Laravel用户注意,不定义用户可能会导致系统根用户创建的日志和缓存文件无法访问您的Laravel应用程序。这可能会引起一系列问题。强烈建议根据应用程序设置适当的工作用户。 - matticustard

5
我解决了,需要在test.conf中定义用户,现在它可以正常工作了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接