什么是正确的方式离开gunicorn运行?(What is the correct way to l

2019-07-04 08:11发布

我想打一个瓶+的Nginx + Gunicorn部署。 我有Nginx的建立和运行,我跑gunicorn如在文档中所述:

gunicorn app:app

但是,当我退出服务器gunicorn进程退出的? 什么是确保它保持运行Nginx的用于连接,并重新启动,如果它崩溃了正确的方法是什么?

Answer 1:

我会考虑像监事 。



Answer 2:

使用--daemon在运行gunicorn选项。 例:

gunicorn grand56.wsgi:application --name grand56 --workers 3 --user=root --group=root --bind=127.0.0.1:1001 --daemon



Answer 3:

要注意的关键一点是,当你在命令行启动的过程中它是你的终端进程的子(即一个孩子bash )。 当您注销该服务器在bash过程被终止-因为都是它的孩子。

你会想用你拥有的任何系统来管理nginx的还(从任何管理gunicorn init.d或新贵脚本专门的应用程序监视器一样monit的,监事,Bluepill,工头等)



Answer 4:

使用--daemon到gunicorn的结合命令。 例如:

gunicorn --bind 0.0.0.0:8001 your_project.wsgi --daemon


Answer 5:

注意肖恩。

然而,你可以在这样的飞行运行它:

nohup gunicorn -c config.py </dev/null >/dev/null 2>&1 ,这将不再依赖端子连接上。 你可以替换>/dev/null喜欢的东西>somelogfile如果你想保存的任何输出。

但对于生产用途,最好把它集成到您​​使用进程管理任何工具。



Answer 6:

试试这个:

nohup gunicorn app:app &


Answer 7:

我尝试了systemd选项,它工作得很好,下面的链接有我完整的答案,并拥有所有的步骤,以调用您的应用程序作为一个gunicorn服务。

https://askubuntu.com/questions/930589/running-upstart-script-on-17-04/1010398#1010398



Answer 8:

运行拥抱 API这样的。

--daemon是保持过程的背景。

--access,日志文件 ,以保持请求日志

--bind = <IP>:<端口>给予IP将允许从其他系统访问(如果不需要代理)。

gunicorn <pyscirpt_name>:__hug_wsgi__ --name  caassist -w 4 --access-logfile /var/logs/gunicorn/gunicorn_access.log --daemon --bind=<ip>:<port>


文章来源: What is the correct way to leave gunicorn running?