【发布时间】:2013-07-16 02:54:14
【问题描述】:
我正在尝试使用 Upstart 配置 uWSGI。
我创建了文件/etc/init/uwsgi-flask.conf:
description "uwsgi for flask"
start on runlevel [2345]
stop on runlevel [06]
exec /appdir/virtualenvdir/bin/uwsgi /appdir/virtualenvdir/uwsgi.ini --die-on-term
重新启动时,它可以正确启动,但我无法停止服务。
如果我在 shell initctl stop uwsgi-flask 上输入,它会给出:
initctl: Unknown instance:
有人知道吗?
【问题讨论】:
-
停止作业的标准命令是
sudo stop service-name。如果您没有以 root 身份执行initctl,那么实例未知是合乎逻辑的,因为在启动(重新启动)时进程将在用户空间中不可用,因为它将由 root 作为系统作业启动。但是,我假设您以 root 身份停止工作。你能发布/var/log/upstart/uwsgi-flack.log的相关内容吗?听起来您的工作要么根本没有开始,要么在开始后退出。你可以找到一些有用的信息here。 -
@schkovich 我实际上正试图以运行 uwsgi 的用户身份停止服务,这是一个非 root 用户。我试过
sudo stop uwsgi-flask,但它给出了类似stop: Unknown instance:的东西。日志说 uwsgi 服务器正在运行,但我无法用我输入的命令停止它。 -
Daniele,我也有同样的问题。你找到解决办法了吗?
-
@MichelMüller,最终我决定放弃 Python 并使用 Go 编写我的 web 服务。我想我已经设法解决了这个问题,但我现在不记得了。