说明
在 部署 Django、Flask 项目(一)中讲明了一种部署方案,这是第二种方案,不使用进程管理,自己启动、停止 Gunicorn 服务器。
思路概要
仍然使用 Gunicorn 做服务器,但由自己负责启动和停止。
1、启动脚本
cd /path/to/project
pipenv run gunicorn project.wsgi:application -b 127.0.0.1:8000 --pid /path/to/pidfile --access-logfile /path/to/logfile --error-logfile /path/to/logfile
说明:
脚本以启动 Django 为例。
首先切换到 Django 项目目录下,然后使用 pipenv 的 run 命令启动 gunicorn。
--pid:指定 pid 存储文件,为了使方便重启和杀死进程时能直接使用这个文件;
--[access|error]-logfile:指定日志输出文件。代替了 supervior 中的日志文件。
2、重启脚本
kill -HUP `cat /path/to/pidfile`
说明:
使用了 pidfile 文件,注意要使用 `(Esc下面那个按键) 括起来。
3、停止脚本
kill -9 `cat /path/to/pidfile`
使用方法
直接在命令行,sh 脚本名称.sh & ,& 是保证在后台运行。