也许我是和主pipe误解呢,但是也许我问这个问题将有助于澄清这个问题。 基本上,我在/etc/supervisord.conf文件中有一个Supervisor程序,它执行一个简单地执行PHP脚本的bash脚本。 只有在主pipe启动后,我才能成功地让这个bash脚本从主pipe运行。 然而,它不是像监督者那样在设定的时间间隔后台运行这些任务,以便我可以知道它总是在运行,并根据它运行的脚本来处理它可能需要的任何任务。 这里是我的conf文件中的程序: [program:program_name_d] command=/path/to/runme process_name=%(program_name)s numprocs=1 autostart=true
我试图用nginx连接到由ubuntu-server上运行的supervisord控制的uwsgi服务应用程序来testing一个试验系统。 应用程序是用virtualenv中的Flask编写的,虽然我不确定这是否相关。 为了testing系统,我用flask创build了一个简单的hello world。 我希望nginx和uwsgi都以www数据用户的身份运行。 如果我从root shell“手动”启动uwsgi我可以看到uwsgi进程在适当的用户(www-data)下运行。 虽然,如果我让supervisor启动应用程序发生了一些奇怪的事情 – uwsgi进程正在我的用户(friendzis)下运行。 因此,套接字文件被创build在错误的用户下,nginx无法与我的应用程序通信。 注意:在Windows Server 2008下,linux服务器作为Hyper-V VM运行。 相关configuration: [uwsgi] socket = /var/www/sockets/cowsay.sock chmod-socket = 666 abstract-socket = false master = true workers = 2 uid = www-data gid = www-data chdir = /var/www/cowsay/cowsay pp = /var/www/cowsay/cowsay pyhome = /var/www/cowsay module = cowsay callable = app 监 [program:cowsay] […]
作为ec2用户: [ec2-user@stg etc]$ sudo supervisorctl status sudo: supervisorctl: command not found 作为根: [ec2-user@stg etc]$ sudo su – Last login: Tue Jun 6 03:02:55 UTC 2017 on pts/1 [root@stg ~]# supervisorctl status kafka BACKOFF Exited too quickly (process log may have details) zookeeper RUNNING pid 24697, uptime 0:25:11 我无法理解为什么会发生这种情况。 我检查sudoers文件,但没有find有意义的东西。 请帮忙。
所以我试图运行Supervisor( http://supervisord.org/ )作为非root用户。 但是,该进程会将日志输出到由root拥有的/var/log目录,并拥有755个权限。 因此,以非root用户身份启动该进程将引发权限被拒绝错误。 解决这个问题的最佳做法是什么? 我有一个想法是recursion地将/var目录的组更改为正在启动监督进程的用户的组,并给予/var目录775权限。 从安全的angular度来看,这是可以接受的吗?
我正在尝试用php7.0-fpmbuild立一个dockerized的ubuntu 16.04lts与apache2和nginx 我用过的命令,但没有工作 [program:php-fpm7.0] command = /usr/sbin/php-fpm7.0 –daemonize –fpm-config /etc/php/7.0/fpm/php-fpm.conf autostart=true autorestart=true priority=5 stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 和 [program:php-fpm7.0] command = /usr/sbin/php-fpm7.0 -c /etc/php/7.0/fpm/php-fpm.conf autostart=true autorestart=true priority=5 stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 和 [program:php-fpm7.0] command = /usr/sbin/php-fpm7.0 -c /etc/php/7.0/fpm autostart=true autorestart=true priority=5 stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 下面是当我尝试作为容器运行时来自docker的错误日志 从apache2容器 2016-06-26 20:04:21,488 CRIT Set uid to user 0 […]
我正在努力让supervisord在开始时发送一个curl请求。 然而,尽pipe我尽了最大的努力,我将自动重启设置为false,但仍然运行脚本。 [program:slack-client] priority=99 autorestart=false command=bash -c 'SOME BASH COMMAND' 不断重复的错误是 INFO exited: slack-client (exit status 0; not expected)
我刚刚完成设置主pipe来运行我的gunicorn实例,我想知道是否有一个默认的方式,让普通用户运行superctctl来启动/停止网站。 我正在考虑添加一些sudo的configuration,使用户能够运行它,但是我认为这可能会打开一些漏洞,通过这个漏洞,入侵者可以以root身份运行。 我知道我可以在[supervisord] config部分设置user = someuser,但是我必须为整个文件系统的文件授予该用户的权限,用于日志,套接字创build等。这将是一个问题,因为标准ubuntu软件包部署假设主pipe将以root身份运行。 那么哪一个更好,还是有另一个select?
我正在运行supervisord来保持Redis和其他软件的运行。 但是,在我的生活中,我无法resque-web重新工作。 这是我包括的.ini: [scheme:resque] 命令=的/ usr /本地/ RVM /gem/ruby2.0.0-P195 / bin中/ resque幅 自动启动=真 自动重启=真 用户=根 stdout_logfile =的/ var / lib中/ resque / stdout.log stderr_logfile =的/ var / lib中/ resque / stderr.log 不幸的是,当我运行service supervisor restart我在supervisord日志中得到以下内容: INFO exited:resque(退出状态127;不是预期的) 根据谷歌的代码127是“命令未find”。 但是,如果我手动运行该命令,resque-web服务器启动就好了,输出: [2013-05-24 00:03:09 -0600]启动'resque-web'… [2013-05-24 00:03:09 -0600]试图端口5678 … 还值得注意的是,当supervisord尝试启动resque-web时,我在/var/lib/resque/stderr.log看到以下内容: / usr / bin / env:ruby_noexec_wrapper:没有这样的文件或目录 所以我很难过 我在supervisord上configuration的每一个软件都可以正常工作。 这是唯一让我头疼的人 […]
我已经在Django + gunicorn + virtualenv + Supervisord环境下成功运行了2个django项目(与Python 2.7一样的virtualenv)。 但现在我试图在Python 3.2.3中运行另一个项目,所以我创build了另一个virtualenv。 但现在,当我尝试启动django服务器与supervisorctl命令它给我mein'exception终止'错误。 但是在错误日志中完成跟踪错误是这样的: Error: class uri 'simple' invalid or not found: [Traceback (most recent call last): File "/home/ubuntu/.virtualenvs/django16/lib/python3.2/site-packages/gunicorn/util.py", line 125, in load_class section, uri) File "/home/ubuntu/.virtualenvs/django16/lib/python3.2/site-packages/pkg_resources.py", line 378, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/home/ubuntu/.virtualenvs/django16/lib/python3.2/site-packages/pkg_resources.py", line 371, in get_distribution if isinstance(dist,Requirement): dist = get_provider(dist) File "/home/ubuntu/.virtualenvs/django16/lib/python3.2/site-packages/pkg_resources.py", […]
我正在尝试与Upstart开始supervisord。 Upstart工作非常简单和传统(开始,停止,作者描述,重生,执行)。 我试过在前台运行supervisord (“-n”),省略了Upstart工作中的“expect”节。 开始和结束都挂起。 我已经尝试运行supervisord作为守护进程(默认模式),并设置“期望”既“叉”和“守护进程”(和“停止”,在绝望尝试)。 启动和停止都挂起。 Upstart日志不会显示我尝试的任何条目。 我可以开始的唯一方法是编写作业并重新启动系统。 它始终正常启动。 但是,当我尝试手动停止并启动它时,该命令总是阻塞。 我对Upstart基础架构和configuration非常熟悉。 有人有build议吗?