配置基于 virtualenv 的 supervisor
supervisor 是基于 python 的任务管理工具,用来自动运行各种后台任务,当然你也能直接利用 nohup 命令使任务自动后台运行,但如果要重启任务,每次都自己手动 kill 掉任务进程,这样很繁琐,而且一旦程序错误导致进程退出的话,系统也无法自动重载任务。
virtualenv 是 python 的一个虚拟环境管理工具,用来部署运行不同的 python 版本,很多 linux 发行版本的 python 都是 2.x,例如要运行 3.x 版本的 python 程序,如果直接升级系统的 python 版本的话,由于 python 3.x 无法向前兼容 2.x 版本会造成系统依赖失效。
安装配置 virtualenv
如果系统未安装 pip,可直接从源文件安装,记得用当前最新版本号代替 X.X
在项目目录下通过以下命令初始化和激活虚拟环境
安装配置 supervisor
ubuntu server 上可直接 apt-get 安装
通过以下命令生成 supervisor 示例配置文件
修改 supervisord.conf 文件,通过添加 [program:name] 来新建一个任务,例如:
但我们利用了 virtualenv 来生成了不同的虚拟环境,这里的 command 直接是 python server.py 的肯定是会出错的,所以我们需要改成这样:
接下来运行以下命令运动 supervisor 服务:
重载 supervisor 里的任务可运行: