怎么在Gunicorn中配置Django
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,怎么在Gunicorn中配置Django?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. 简单部署1. sudo pi
千家信息网最后更新 2024年11月30日怎么在Gunicorn中配置Django
怎么在Gunicorn中配置Django?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
1. 简单部署
1. sudo pip3 install gunicorn2. cd 到django项目中 sudo python3 manage.py migrate3.启动服务:sudo python3 manage.py runserver 0.0.0.0:80004. 使用gunicorn 来运行项目注:项目名untitled[root@qqc_os7 untitled]# gunicorn untitled.wsgi -b 0.0.0.0:8000[2019-08-04 09:31:17 +0800] [16614] [INFO] Starting gunicorn 19.9.0[2019-08-04 09:31:17 +0800] [16614] [INFO] Listening at: http://0.0.0.0:8000 (16614)[2019-08-04 09:31:17 +0800] [16614] [INFO] Using worker: sync[2019-08-04 09:31:17 +0800] [16617] [INFO] Booting worker with pid: 166175. 查看进程[root@qqc_os7 untitled]# ps aux | grep 8000root 15383 0.2 1.9 213440 19028 pts/3 S+ 19:27 0:00 /usr/local/python3/bin/python3.6 /usr/local/python3/bin/gunicorn untitled.wsgi -b 0.0.0.0:8000root 15386 0.2 3.3 256572 33676 pts/3 S+ 19:27 0:00 /usr/local/python3/bin/python3.6 /usr/local/python3/bin/gunicorn untitled.wsgi -b 0.0.0.0:8000root 15389 0.0 0.0 112676 992 pts/2 S+ 19:30 0:00 grep --color=auto 80006.杀死进程[root@qqc_os7 untitled]# ps aux | grep 8000 | grep -v grep | awk '{print $2}' | xargs kill查看开放的端口:firewall-cmd --list-ports 开启端口:firewall-cmd --zone=public --add-port=80/tcp --permanent (外网访问时开放端口)查看网络:ping 10.0.0.130访问:http://10.0.0.130:8000/index/![](https://img2018.cnblogs.com/blog/1357260/201908/1357260-20190804092940438-114633478.png)
2. 添加环境变量
gunicorn目标位置:/usr/local/python3/lib/python3.6/site-packages (19.9.0)[root@qqc_os7 /]# vim /etc/profile末尾追加要加入环境变量的应用:export PATH=/opt/mysql/bin:$PATHexport PATH=/opt/redis-3.2.10/src:$PATH:/usr/local/python3/binexport RABBIT_HOME=/data/soft/rabbitmq_server-3.7.13export PATH=$RABBIT_HOME/bin:$PATH
3. gunicorn常用配置
Gunicorn"绿色独角兽"是一个被广泛使用的高性能的Python WSGI UNIX HTTP服务器-c 指定一个配置文件(py文件)-b 与指定的socket进行绑定-D 以守护进程形式来运行Gunicorn进程,其实就是将这个服务放到后台去运行-w 工作的进程数量 ;[root@qqc_os7 untitled]# gunicorn -w 2 untitled.wsgi -b 0.0.0.0:8000-k 工作进程类型,sync(默认), eventlet, gevent, or tornado, gthread, gaiohttp.参考:https://www.jb51.net/article/166871.htmhttp://docs.gunicorn.org/en/latest/settings.html
配置文件(py文件,与django中的manage.py在同一目录)
# gunicorn_config.pyimport loggingimport logging.handlersfrom logging.handlers import WatchedFileHandlerimport osimport multiprocessingbind = '10.0.0.130:8000' #绑定ip和端口号backlog = 512 #监听队列chdir = '/home/test/server/bin' #gunicorn要切换到的目的工作目录timeout = 30 #超时worker_class = 'gevent' #使用gevent模式,还可以使用sync 模式,默认的是sync模式workers = multiprocessing.cpu_count() * 2 + 1 #进程数threads = 2 #指定每个进程开启的线程数loglevel = 'info' #日志级别,这个日志级别指的是错误日志的级别,而访问日志的级别无法设置access_log_format = '%(t)s %(p)s %(h)s "%(r)s" %(s)s %(L)s %(b)s %(f)s" "%(a)s"' accesslog = "/home/test/server/log/gunicorn_access.log" #访问日志文件errorlog = "/home/test/server/log/gunicorn_error.log" #错误日志文件通过配置文件启动django服务:[root@qqc_os7 untitled]# gunicorn untitled.wsgi -c gunicorn_config.py
django项目目录结构
[root@qqc_os7 untitled]# tree.├── app01│ ├── admin.py│ ├── apps.py│ ├── __init__.py│ ├── migrations│ │ ├── __init__.py│ │ └── __pycache__│ │ └── __init__.cpython-36.pyc│ ├── models.py│ ├── __pycache__│ │ ├── admin.cpython-36.pyc│ │ ├── apps.cpython-36.pyc│ │ ├── __init__.cpython-36.pyc│ │ ├── models.cpython-36.pyc│ │ └── views.cpython-36.pyc│ ├── tests.py│ └── views.py├── app02│ ├── admin.py│ ├── apps.py│ ├── __init__.py│ ├── migrations│ │ ├── __init__.py│ │ └── __pycache__│ │ └── __init__.cpython-36.pyc│ ├── models.py│ ├── __pycache__│ │ ├── admin.cpython-36.pyc│ │ ├── __init__.cpython-36.pyc│ │ ├── models.cpython-36.pyc│ │ └── views.cpython-36.pyc│ ├── templates│ │ └── new_app│ │ └── index.html│ ├── tests.py│ └── views.py├── db.sqlite3├── gunicorn_config.py├── manage.py├── static├── templates│ └── index.html└── untitled ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-36.pyc │ ├── settings.cpython-36.pyc │ ├── urls.cpython-36.pyc │ └── wsgi.cpython-36.pyc ├── settings.py ├── urls.py └── wsgi.py
日志文件
[root@qqc_os7 log]# cat gunicorn_access.log [04/Aug/2019:01:15:14 +0000] <16598> 10.0.0.1 "GET /index/ HTTP/1.1" 200 0.050109 170 -" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"[04/Aug/2019:01:15:24 +0000] <16597> 10.0.0.1 "GET /index/ HTTP/1.1" 200 0.045950 170 -" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
文件
进程
日志
配置
级别
项目
服务
模式
目录
端口
工作
运行
变量
环境
错误
帮助
开放
清楚
位置
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
大连做网络安全的公司
视觉软件开发价格
杭州拉勾互联网科技公司地址
数据库rman
网络安全教育宣传计划
构建企业网络安全方案
徐汇区市场软件开发经验丰富
交换机配置禁止访问web服务器
网络安全员知识大赛
计算机网络安全技术赵
长沙crm软件开发服务
哈哈约车服务器忙
即墨区管理软件开发公司
从事软件开发军队文职面试
丽江网络安全宣传
软件开发区哪里就业
深圳网络安全攻防大赛
易安卓数据库教程
rds数据库组成部分
大型分布式游戏服务器
升星服务器默认密码
海外服务器免费
服务器自身安全功能
徐汇区咨询软件开发优势
深圳百度计算机与网络技术
大话西游服务器怎么连
四川思恩特通讯网络技术公司
数据库判断字段值
怎样提高服务器cpu的游戏性能
达梦数据库创建用户语法