可以在virtualenv中安装supervisord吗?
目前我在Ubuntu上通过 apt-get install supervisor
命令全局安装了supervisord。我的所有项目都在虚拟环境(virtualenvs)里,所以系统的Python其实没怎么用到。
我可以在我的虚拟环境里安装supervisor吗?我能同时运行多个实例吗?
2 个回答
是的,你可以这样做,即使你的系统上没有全局安装 supervisor。
首先,找到你的虚拟环境目录并激活它。然后用 pip 安装 supervisor:
pip install supervisor
安装成功后,运行:
which supervisord
这时你会看到 supervisord 命令的路径,这个路径只会在你的虚拟环境里。
接下来是最重要的部分。当你运行 'supervisord' 命令时,它会寻找一个配置文件,默认位置是:/etc/supervisord.conf
但是如果 supervisor 只是在虚拟环境中安装的,它会报错,内容是:
错误:在默认路径下找不到配置文件。
为了运行 supervisor,你需要自己创建一个配置文件,并在运行时指定它的路径。首先运行:
echo_supervisord_conf > supervisord.conf
这条命令会在你当前的工作目录下创建一个默认的 supervisor 配置文件。接下来,配置你的 supervisord.conf 文件(可以参考 http://supervisord.org/configuration.html),然后使用 '-c' 选项运行 supervisor:
supervisord -c supervisord.conf
没错。你可以先设置一个 virtualenv
,然后用 pip
安装 supervisor。
virtualenv env
cd env
./bin/pip install supervisor
创建配置文件:
echo_supervisord_conf > /path_to_configuration_file/supervisord.conf
你可以运行多个实例,只需要在配置文件中使用不同的端口让 supervisord 监听:
port=127.0.0.1:9001