加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

supervisord – 我如何让Supervisor以另一个用户身份运行我的程

发布时间:2020-12-13 16:46:19 所属栏目:Linux 来源:网络整理
导读:我在使用扩展的环境变量运行我的命令时遇到了很多麻烦. 我的主管conf. ; supervisor config file[unix_http_server]file=/var/run//supervisor.sock ; (the path to the socket file)chmod=0700 ; sockef file mode (default 0700)[supervisord]logfile=/var
我在使用扩展的环境变量运行我的命令时遇到了很多麻烦.

我的主管conf.

; supervisor config file

[unix_http_server]
file=/var/run//supervisor.sock   ; (the path to the socket file)
chmod=0700                       ; sockef file mode (default 0700)

[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor            ; ('AUTO' child log dir,default $TEMP)
user = a-user-name
environment = HOME='/home/a-user-name',APP='staging.example.com',SYMFONY_ENVIRONMENT='staging'

; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work,additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///var/run//supervisor.sock ; use a unix:// URL  for a unix socket

; The [include] section can just contain the "files" setting.  This
; setting can list multiple files (separated by whitespace or
; newlines).  It can also contain wildcards.  The filenames are
; interpreted as relative to this file.  Included files *cannot*
; include files themselves.

[include]
files = /etc/supervisor/conf.d/*.conf
files = /home/a-user-name/apps/staging.example.com/current/app/Resources/config/supervisor/*.conf

和?/ apps / staging.example.com / current / app / Resources / config / supervisor中的under-version-control.conf

[program:hank-message-forwarder]
stdout_logfile = /var/log/pink-tie/%(program_name)s-out.log
stderr_logfile = /var/log/pink-tie/%(program_name)s-err.log
logfile_maxbytes = 50MB
logfile_backups = 10
identifier = hank-message-forwarder
command = %(ENV_HOME)s/apps/%(ENV_APP)s/current/bin/hank forward-messages tcp://*:5500 tcp://*:5600

我在这做错了什么?我得到的错误根本没有用.它抱怨它无法连接到unix服务器这一事实但是一旦我删除了文件,用户和环境指令(基本上我已经改变了所有)都恢复正常.

解决方法

but once I remove the files,user and environment directive (all that
I’ve changed basically) all goes back to normal.

听起来你有语法问题.在引用the online documentation之后……
用户条目看起来不错.
user = a-user-name
但环境对我来说很奇怪.尝试将单引号更改为双引号.

改变它;

environment = HOME =’/ home / a-user-name’,APP =’staging.example.com’,SYMFONY_ENVIRONMENT =’staging’

对此;

environment = HOME =“/ home / a-user-name”,APP =“staging.example.com”,SYMFONY_ENVIRONMENT =“staging”

编辑:

我刚注意到你的一个“files =”行中有一个星号.
这在实践中我没见过(我只指定了完整的文件名).
但在线文档确实显示了通配符(“*”和“?”).

但是,在线文档提到了以下内容(强调添加);

If the configuration file contains an [include] section,it must
contain a single key named “files”. The values in this key specify other configuration files to be included within the configuration.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读