Django部署uwsgi
详细过程
- 开发环境
- 知识补充
- uWSGI安装
- 配置uWSGI
- uWSGI的运行管理
- uWSGI的运行说明
开发环境
云服务器(Ubuntu),能run的Django项目文件
知识补充
WSGI (Web Server Gateway Interface) Web服务器网关接口,是python应用程序或框架和web服务器之间的一种接口,被广泛使用。
uWSGI定义:uWSGI是WSGI的一种,它实现了http协议、WSGI协议以及uwsgi协议(在实际应用中主要以学习配置为主)
在开发和测试环境中使用python manage.py runserver
开发结束后,使用WSGI在一个高效稳定的环境中运行完善的项目代码
uWSGI安装
服务器中执行 pip3 install uwsgi 即可
检查是否安装成功
pip3 freeze | grep -i ‘uwsgi’
如果成功安装的话,则会输出uWSGI版本;否则可能就是安装失败了,安装失败的原因可能是系统中没有gcc或者是gcc版本太高,详情请移步:pip安装uwsgi报错问题
配置uWSGI
添加配置文件:项目同名文件夹/uwsgi.ini
如:mysite1/mysite1/uwsgi.ini
有如下配置项:文件以[uwsgi]开头,
套接字方式的IP地址:端口号【此模式需要有nginx,如果只用uwsgi的话可以忽略此项】
socket=127.0.0.1:8000Http通信方式的IP地址:端口号【如果仅使用uwsgi的话建议写成0.0.0.0:8000】
http=127.0.0.1:8000项目当前工作目录
chdir=/home/test/…/my_project项目中wsgi.py文件的目录,相对于当前工作目录(就是上一个目录下的同名文件夹)
wsgi-file=my_project/wsgi.py进程个数
process=4每个进程的线程个数
threads=2服务的pid记录文件
pidfile=uwsgi.pid服务的目录文件位置(代表是否后台启动以及启动的日志输出在哪里)
daemonize=uwsgi.log开启主进程管理模式
master=true项目中静态文件static的路径
static-map = /static=/home/…/zy_ds/static
下面是我自己的配置文件:
代码展示(可以直接拷贝)
[uwsgi]
http=0.0.0.0:8000
chdir=/home/wanghuimeng/python_SFTP/django_object/zy_ds_files/zy_ds
wsgi-file=zy_ds/wsgi.py
process=4
threads=2
pidfile=uwsgi.pid
daemonize=uwsgi.log
master=True
static-map = /static=/home/wanghuimeng/python_SFTP/django_object/zy_ds_files/zy_ds/static
特殊说明:
Django的settings.py需要做如下配置:
1,修改settings.py将DEBUG=True改为False(出于安全考虑)
2,修改settings.py将ALLOWED_HOSTS=[]改为ALLOWED_HOSTS=[‘网站域名’]或者[‘公网IP’]
uWSGI的运行管理
启动uwsgi
cd 到 uWSGI 配置文件所在目录
uwsgi --ini uwsgi.ini
如下:启动成功(图片来自于网上某位大佬)。
停止uwsgi
cd 到 uWSGI 配置文件所在目录
uwsgi --stop uwsgi.pid
如下:
整个启动和停止过程都要拿ps亲眼看到才行
uWSGI的运行说明
1,无论是启动还是关闭,都要执行ps aux|grep ‘uwsgi’ 确认是否符合预期
2,当uwsgi启动后,当前django项目的程序已变成后台守护进程,在关闭当前终端时此进程也不会停止
3,启动成功后,进程在后台执行,所有日志均输出在配置文件所在目录的uwsgi.log中
4,Django中代码有任何修改,都需要重启uwsgi(重启即为先关闭,再开启)
Django部署uwsgi相关推荐
- Django+Linux+Uwsgi+Nginx项目部署文档
Django+Linux+Uwsgi+Nginx项目部署文档 WSGI 在生产环境中使用WSGI作为python web的服务器 WSGI:全拼为Python Web服务器网关接口,Python We ...
- Django 部署基础【使用 Nginx + uWSGI 的方式来部署来 Django】
本文主要讲解在 Linux 平台下,使用 Nginx + uWSGI 的方式来部署来 Django,这是目前比较主流的方式.当然你也可以使用 Gunicorn 代替 uWSGI,不过原理都是类似的,弄 ...
- nginx+uWSGI + django部署项目
项目部署 nginx+uWSGI + django 1. WSGI WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器(返回静态资源的就是web服务器,Nginx)如何与Web应用程序( ...
- django+nginx+uwsgi项目部署文档整理
django+nginx+uwsgi项目部署文档整理 参考文章:https://blog.csdn.net/qq_42314550/article/details/81805328 一.python安 ...
- centos7.3部署django用uwsgi和nginx[亲测可用]
centos7.3部署django用uwsgi和nginx[亲测可用] 现在nginx nginx version: nginx/1.10.2 uwsgi 2.0.17 django2.0.5 都已经 ...
- Django+nginx+uwsgi+ubuntu18.04网站部署
Django网站的部署 原理 凡事都要讲个原理嘛.如图所示,就是整个原理啦.详细可以观看哔哩哔哩up主讲的真不错呀!!! 网站用户 网站服务器 socket uwsgi Django 图片来源于(ht ...
- Docker部署Django+Mysql+uWSGI+Nginx Web应用 - 笔记更新2022-01-04
Docker 部署Django+Mysql+uWSGI+Nginx Web应用 Change logs更新记录 2022/1/4 fixed web access problem of wide ar ...
- nginx uwsgi django部署
虽然网上有很多这方面部署材料,但很多材料内容并不完善.即便搜索网上大量的部署材料,还是花了我好几天的时间才搞出来.部署步骤太复杂了,尤其uwsgi,感觉是反人类的设计. 言归正传,我的部署版本分别如下 ...
- Uwsgi+Nginx+Django部署
Django+Uwsgi+Nginx部署 这几天一直在捣腾Django部署,一只菜鸡的上山路 如果什么不对,还请多多指教. 参考:如何使用Django与uWSGI,Uwsgi文档 Linux使用的是u ...
最新文章
- Java学习之switch语句
- wav文件头修复_标记管理音频文件工具:Yate for Mac
- 沟通管理计划3个过程及重点
- 用ASP.NET Core MVC 和 EF Core 构建Web应用 (一)
- 2560x1600分辨率高吗_做设计还弄不清分辨率和像素之间的关系,来了解下他们是怎么换算...
- ROS 中文教程目录(最好不要过度依赖这种,建议养成看英文原版习惯)
- php 微商城 开源,微商城开通为什么选php开源网店系统
- 如何理解5G空口(NR)?
- 查看手册命令 Oracle,ORACLE 数据库常用日常维护命令手册
- Asp.Net MVC 的重要入门概念
- [渝粤教育] 中国地质大学 国际贸易理论 复习题
- 在线html游戏翻译,怎么把整个英文网页游戏翻译成中文
- win10专业版激活时提示无法连接到internet怎么办?
- PHP动态网站开发期末试卷,《PHP动态网站开发实例教程》课程考核方案
- 怎么做无线路由跟服务器一个网段,一个宽带装两个路由器怎么设置?
- 微信二次分享解决图标文案失效方案
- 05 CSS从原理到熟练 - 1
- 从软件工程师到IT猎头:我的一点经…
- 一文讲透,分布式系统的数据分片难题
- JS图片360度全景预览插件