首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >监督用错误的方法发射

监督用错误的方法发射
EN

Server Fault用户
提问于 2013-10-21 14:45:37
回答 2查看 1.6K关注 0票数 0

我正在尝试测试一个nginx连接到运行在ubuntu服务器上的supervisord控制的uwsgi服务应用程序的试点系统。应用程序是用python编写的,但是我不确定这是否相关。为了测试系统,我用flask创建了一个简单的hello世界。我希望nginx和uwsgi都能作为www-数据用户运行。

如果我从根shell“手动”启动uwsgi,我可以看到uwsgi进程作为适当的用户运行(www-data)。尽管,如果我让supervisor启动应用程序,会发生一些奇怪的事情-- uwsgi进程在我的用户(friendzis)下运行。因此,套接字文件在错误的用户下创建,nginx无法与我的应用程序通信。

注意:在Windows 2008下,linux服务器以Hyper-V VM的形式运行。

相关组合:

代码语言:javascript
复制
[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

主管

代码语言:javascript
复制
[program:cowsay]
command = /var/www/cowsay/bin/uwsgi -s /var/www/sockets/cowsay.sock -w cowsay:app
directory = /var/www/cowsay/cowsay
user = www-data
autostart = true
autorestart = true
stdout_logfile = /var/www/cowsay/log/supervisor.log
redirect_stderr = true
stopsignal = QUIT

我肯定我漏掉了一些小细节,但我没注意到。如有任何建议,我将不胜感激。

EN

回答 2

Server Fault用户

发布于 2015-11-24 14:36:41

您应该在程序部分中指定一个environment选项。例如:

代码语言:javascript
复制
user=chrism
environment=HOME="/home/chrism",USER="chrism"

详情请参见子过程环境

此外,在堆栈过流上也提出了类似的解决方案。

票数 4
EN

Server Fault用户

发布于 2013-10-21 15:42:28

你的跑步是如何监督的?您确定没有从shell (使用uid)运行它吗?

你确定你需要监督吗?您可以很容易地将uWSGI附加到新启动或系统(最终与uWSGI皇帝一起)

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/547563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档