博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Supervisor&Gunicorn&Django
阅读量:5759 次
发布时间:2019-06-18

本文共 2776 字,大约阅读时间需要 9 分钟。

hot3.png

django

# 刚写的就不复制粘贴了https://my.oschina.net/tianshl/blog/1611257# 列一下目录结构root@tianshl:~# cd server/root@tianshl:~/server# tree serverserver├── db.sqlite3├── manage.py└── server    ├── __init__.py    ├── settings.py    ├── urls.py    └── wsgi.py

gunicorn

安装
pip install gunicorn
配置
# 修改django项目的settings.pyINSTALLED_APPS = [    ......    'gunicorn',]
运行
root@tianshl:~# cd /root/server/server/root@tianshl:~/server/server# gunicorn --pythonpath /root/server/venv/bin/python3 -w 3 -b 0.0.0.0:80 server.wsgi# 测试能否正常运行, 然后ctrl+c结束进程

supervisor

安装
pip install supervisor
配置
# 默认配置 # 使用echo_supervisord_conf命令查看默认配置root@tianshl:~# echo_supervisord_conf# 自定义配置root@tianshl:~# mkdir /etc/supervisorroot@tianshl:~# mkdir /etc/supervisor/conf.droot@tianshl:~# echo_supervisord_conf > /etc/supervisor/supervisor.confroot@tianshl:~# vim /etc/supervisor/supervisor.conf# 内容如下[unix_http_server]file=/tmp/supervisor.sock   ; the path to the socket file[supervisord]logfile=/tmp/supervisord.log ; main log file; default $CWD/supervisord.loglogfile_maxbytes=10MB        ; max main logfile bytes b4 rotation; default 50MBlogfile_backups=1            ; # of main logfile backups; 0 means none, default 10loglevel=info                ; log level; default info; others: debug,warn,tracepidfile=/tmp/supervisord.pid ; supervisord pidfile; default supervisord.pidnodaemon=false               ; start in foreground if true; default falseminfds=1024                  ; min. avail startup file descriptors; default 1024minprocs=200                 ; min. avail process descriptors;default 200[rpcinterface:supervisor]supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface[supervisorctl]serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket[include]files = /etc/supervisor/conf.d/*.conf# 自定义服务配置root@tianshl:~# vim /etc/supervisor/conf.d/server.conf内容如下:[program:server]directory = /root/server/server/command = gunicorn --pythonpath /root/server/venv/bin/python3 -w 3 -b 0.0.0.0:80 server.wsgiautostart = truestartsecs = 5autorestart = truestartretries = 3user = rootredirect_stderr = truestdout_logfile_maxbytes = 10MBstdout_logfile_backups = 1stdout_logfile = /root/logs/server.log
启动
supervisord -c /etc/supervisor/supervisor.conf
常用指令
root@tianshl:~# supervisorctl -c /etc/supervisor/supervisor.conf reload         # 重新加载配置文件root@tianshl:~# supervisorctl -c /etc/supervisor/supervisor.conf status         # 服务状态root@tianshl:~# supervisorctl -c /etc/supervisor/supervisor.conf start server   # 启动某个服务(这里的server是服务名称,即program的名字)root@tianshl:~# supervisorctl -c /etc/supervisor/supervisor.conf restart server # 重启某个服务root@tianshl:~# supervisorctl -c /etc/supervisor/supervisor.conf stop server    # 停止某个服务

转载于:https://my.oschina.net/tianshl/blog/1611259

你可能感兴趣的文章
Android 各层调用的方式
查看>>
puppet重申证书
查看>>
分类和回归区别
查看>>
TED Notes 1 (What leads to success)
查看>>
C++类模板
查看>>
MVC分页
查看>>
.NET MVC学习笔记(一)
查看>>
OpenRisc-67-OR的汇编
查看>>
微信公众平台开发(96) 多个功能整合
查看>>
[转]MVC4项目中验证用户登录一个特性就搞定
查看>>
c#取得应用程序根目录
查看>>
我的MYSQL学习心得(十二) 触发器
查看>>
(转)Overview : Writing Scripts in C# 使用C#书写脚本
查看>>
用Perl编写Apache模块续二 - SVN动态鉴权实现SVNAuth 禅道版
查看>>
Android 阴影,圆形的Button
查看>>
来自于确定的苦闷
查看>>
特殊用途语言特性——默认参数、内联函数和constexptr函数
查看>>
临界段CCriticalSection的使用
查看>>
游戏开发tips之RTTI(1)
查看>>
分享一个用安卓手机就能引导pc安装linux系统办法
查看>>