在linux上Nginx+Gunicorn+Supervisor部署django

本文介绍了如何使用Gunicorn作为PythonWeb应用的WSGI服务器,Nginx作为反向代理和负载均衡器,以及Supervisor作为进程管理工具,配合Django或Flask框架实现生产环境的部署。详细步骤包括用户权限设置、环境搭建、SFTP配置、Gunicorn和Nginx的配置,以及使用Supervisor守护Gunicorn进程,确保服务的稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 介绍

Gunicorn

Gunicorn 是一个 Python 的 WSGI HTTP 服务器。它所在的位置通常是在反向代理(如 Nginx)或者 负载均衡(如 AWS ELB)和一个 web 应用(比如 Django 或者 Flask)之间。它是一个移植自Ruby的Unicorn项目的pre-fork worker模型,即支持eventlet也支持greenlet。 如果对Flask框架还有不清楚的地方,可以查看本文一分钟学会Flask框架的安装与快速使用 Gunicorn启动项目之后一定会有一个主进程Master和一个或者多个工作进程。工作进程的数量可以指定。工作进程是实际处理请求的进程。主进程是维护服务器的运行。

nginx

Nginx是一个高性能的HTTP和反向代理web服务器,所谓的方向代理即使将访问用户a地址,nginx将a地址指向了b地址,即使用户通过a地址访问b地址。

supervisor

Supervisor(Supervisor: A Process Control System)是用Python开发的一个client/server服务,,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。我们在shells上运行gunicorn时候或者其他,只要我们一退出shell,这个进程就会杀死。所以需要这个框架来守护我们运行的gunicorn.保证网站系统不被关闭。

前期准备

在搭建前我们需要准备项目所要的环境,首先在开始这前我们需要创建新的用户来搭建环境,因为使用root不安全,一般不使用root.

# 添加用户
adduser 新用户名
# 为创建的新用户设置密码
passwd  新用户名
# 将新用户添加超级权限组
usermod -aG wheel 新用户名
# 切换新用户
su 新用户名
# 安装wget便于下载软件
sudo yum install -y wget

在创建密码的时候输入密码不显示,将用户添加到wheel用户组下,wheel用户组为管理组,

python环境搭建

首先下载python包到我们新用户目录下的src文件下,这个目录需要我们先创建

# 创建/home/新用户名/src目录
mkdir ~/src
# 进入目录
cd ~/src
# 下载python文件
wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
#安装可能需要的依赖
sudo yum install -y openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
# 解压文件且进入目录
tar -zxvf Python-3.6.9.tgz
cd Python-3.6.9
# 编辑配置文件--prefix是python的安装目录
./configure --prefix=/usr/local/python3
make
make install
# 建立软连接,(Python与pip都建立软连接,分别为python3、pip3与系统自带的Python2区分)可以使用命令`ls -l /usr/bin/查看软连接是否已创建成功`
ln -s /usr/local/python3/bin/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值