我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Gunicorn Django部署配置方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Gunicorn Django部署配置方法

1. 简单部署


1. sudo pip3 install gunicorn
2. cd 到django项目中 sudo python3 manage.py migrate
3.启动服务:sudo python3 manage.py runserver 0.0.0.0:8000

4. 使用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: 16617

5. 查看进程
[root@qqc_os7 untitled]# ps aux | grep 8000
root  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:8000
root  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:8000
root  15389 0.0 0.0 112676 992 pts/2 S+ 19:30 0:00 grep --color=auto 8000

6.杀死进程
[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:$PATH
export PATH=/opt/redis-3.2.10/class="lazy" data-src:$PATH:/usr/local/python3/bin
export RABBIT_HOME=/data/soft/rabbitmq_server-3.7.13
export 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.htm
http://docs.gunicorn.org/en/latest/settings.html

配置文件(py文件,与django中的manage.py在同一目录)


# gunicorn_config.py
import logging
import logging.handlers
from logging.handlers import WatchedFileHandler
ioAATCeCrLmport os
import multiprocessing
bind = '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

总结

以上所述是小编给大家介绍的Gunicorn Django部署配置方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Gunicorn Django部署配置方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Gunicorn Django部署配置方法

1. 简单部署1. sudo pip3 install gunicorn 2. cd 到django项目中 sudo python3 manage.py migrate 3.启动服务:sudo python3 manage.py runse
2022-06-04

Gunicorn运行与配置方法

Gunicorn“绿色独角兽”是一个被广泛使用的高性能的python WSGI UNIX HTTP服务器,移植自Ruby的独角兽(Unicorn )项目,使用pre-fork worker模式,具有使用非常简单,轻量级的资源消耗,以及高性能
2022-06-04

Flask + Gunicorn + Nginx的部署方式

本篇内容介绍了“Flask + Gunicorn + Nginx的部署方式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!WSGI容器——Gu
2023-06-04

SpringBoot热部署配置方法详解

在实际开发中,每次修改代码就需要重启项目,重新部署,对于一个后端开发者来说,重启确实很难受。在java开发领域,热部署一直是一个难以解决的问题,目前java虚拟机只能实现方法体的热部署,对于整个类的结构修改,仍然需要重启项目
2022-11-13

Gunicorn和Flask的优化部署:提升部署方案的最佳实践

Gunicorn和Flask的最佳实践:如何优化你的部署方案?引言:Gunicorn是一个高性能的Python WSGI服务器,而Flask是一个轻量级的Python Web框架。二者的结合可以帮助开发者快速构建高效的Web应用。然而,在
Gunicorn和Flask的优化部署:提升部署方案的最佳实践
2024-01-17

Django上线部署之Apache的方法

环境:1.Windows Server 2016 Datacenter 64位2.SQL Server 2016 Enterprise 64位3.python 3.6.0 64位4.administrator用户,无域环境,最高权限 要求:
2022-06-04

Spring Boot 应用的热部署配置方法

热部署,简单来说,就是代码修改后不需重启项目就可自动加载出新的内容,这篇文章主要介绍了Spring Boot 应用的热部署配置 ,需要的朋友可以参考下
2022-11-13

idea配置热部署的方法是什么

IDEA可以使用Spring Boot DevTools实现热部署。以下是配置热部署的方法:打开IDEA,选择项目,进入项目的pom.xml文件。在pom.xml文件中添加以下依赖:org.springframework.bootspri
2023-10-26

Linux zabbix agent部署及配置方法详解

1.在web01上安装zabbix-agent 部署zabbix仓库 rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.
2022-06-03

使用PyCharm配合部署Python的Django框架的配置纪实

安装软件 安装 Python 2.7、PyCharm、pip(Python包管理工具)、Django ( pip install Django) 部署 PyCharm 新建Django工程完成后,其目录如下:子目录MyDjangoProje
2022-06-04

django分布式部署的方法是什么

在Django中实现分布式部署有多种方法,以下是一种常见的方法:使用负载均衡器(如Nginx或HAProxy)来分发流量到多个Django服务节点。将Django应用程序部署在多个服务器上,每个服务器上运行一个Django服务节点。使用
django分布式部署的方法是什么
2024-03-05

django自动化部署的方法是什么

Django可以通过多种方式进行自动化部署,以下是其中一种常用的方法:使用CI/CD工具(如Jenkins、Travis CI、CircleCI等)结合版本控制系统(如Git)来实现自动化部署。具体步骤如下:在版本控制系统中设置webho
django自动化部署的方法是什么
2024-03-01

Django高可用部署的方法是什么

Django的高可用部署通常使用以下方法之一:1. 使用负载均衡器:在应用服务器之前使用负载均衡器,可以将流量分发到多个应用服务器上,从而提高系统的可用性和性能。常见的负载均衡器有Nginx、HAProxy等。2. 使用多个应用服务器:将D
2023-10-09

Rainbond配置组件自动构建部署的方法

今天小编给大家分享一下Rainbond配置组件自动构建部署的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言通过自动构
2023-06-30

linux部署django并运行的方法是什么

要在Linux上部署和运行Django应用程序,可以按照以下步骤进行:安装Python:确保在Linux服务器上安装了Python,并且版本符合Django的要求。创建虚拟环境:使用virtualenv命令创建一个独立的Python虚拟环境
2023-10-23

wordpress非根目录部署nginx关键配置的方法

这篇文章给大家分享的是有关wordpress非根目录部署nginx关键配置的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。wordpress非根目录部署nginx关键配置在非根目录部署wordpress时/w
2023-06-14

编程热搜

目录