详细过程

  • 开发环境
  • 知识补充
  • 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:8000

    • Http通信方式的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相关推荐

  1. Django+Linux+Uwsgi+Nginx项目部署文档

    Django+Linux+Uwsgi+Nginx项目部署文档 WSGI 在生产环境中使用WSGI作为python web的服务器 WSGI:全拼为Python Web服务器网关接口,Python We ...

  2. Django 部署基础【使用 Nginx + uWSGI 的方式来部署来 Django】

    本文主要讲解在 Linux 平台下,使用 Nginx + uWSGI 的方式来部署来 Django,这是目前比较主流的方式.当然你也可以使用 Gunicorn 代替 uWSGI,不过原理都是类似的,弄 ...

  3. nginx+uWSGI + django部署项目

    项目部署 nginx+uWSGI + django 1. WSGI WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器(返回静态资源的就是web服务器,Nginx)如何与Web应用程序( ...

  4. django+nginx+uwsgi项目部署文档整理

    django+nginx+uwsgi项目部署文档整理 参考文章:https://blog.csdn.net/qq_42314550/article/details/81805328 一.python安 ...

  5. centos7.3部署django用uwsgi和nginx[亲测可用]

    centos7.3部署django用uwsgi和nginx[亲测可用] 现在nginx nginx version: nginx/1.10.2 uwsgi 2.0.17 django2.0.5 都已经 ...

  6. Django+nginx+uwsgi+ubuntu18.04网站部署

    Django网站的部署 原理 凡事都要讲个原理嘛.如图所示,就是整个原理啦.详细可以观看哔哩哔哩up主讲的真不错呀!!! 网站用户 网站服务器 socket uwsgi Django 图片来源于(ht ...

  7. 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 ...

  8. nginx uwsgi django部署

    虽然网上有很多这方面部署材料,但很多材料内容并不完善.即便搜索网上大量的部署材料,还是花了我好几天的时间才搞出来.部署步骤太复杂了,尤其uwsgi,感觉是反人类的设计. 言归正传,我的部署版本分别如下 ...

  9. Uwsgi+Nginx+Django部署

    Django+Uwsgi+Nginx部署 这几天一直在捣腾Django部署,一只菜鸡的上山路 如果什么不对,还请多多指教. 参考:如何使用Django与uWSGI,Uwsgi文档 Linux使用的是u ...

最新文章

  1. Java学习之switch语句
  2. wav文件头修复_标记管理音频文件工具:Yate for Mac
  3. 沟通管理计划3个过程及重点
  4. 用ASP.NET Core MVC 和 EF Core 构建Web应用 (一)
  5. 2560x1600分辨率高吗_做设计还弄不清分辨率和像素之间的关系,来了解下他们是怎么换算...
  6. ROS 中文教程目录(最好不要过度依赖这种,建议养成看英文原版习惯)
  7. php 微商城 开源,微商城开通为什么选php开源网店系统
  8. 如何理解5G空口(NR)?
  9. 查看手册命令 Oracle,ORACLE 数据库常用日常维护命令手册
  10. Asp.Net MVC 的重要入门概念
  11. [渝粤教育] 中国地质大学 国际贸易理论 复习题
  12. 在线html游戏翻译,怎么把整个英文网页游戏翻译成中文
  13. win10专业版激活时提示无法连接到internet怎么办?
  14. PHP动态网站开发期末试卷,《PHP动态网站开发实例教程》课程考核方案
  15. 怎么做无线路由跟服务器一个网段,一个宽带装两个路由器怎么设置?
  16. 微信二次分享解决图标文案失效方案
  17. 05 CSS从原理到熟练 - 1
  18. 从软件工程师到IT猎头:我的一点经…
  19. 一文讲透,分布式系统的数据分片难题
  20. JS图片360度全景预览插件

热门文章

  1. 手把手教你写专利(2022.12.1更新)
  2. 编程语言JAVA和Python如何选择?
  3. 最详细的java调用含参数的python程序并且返回值
  4. 兼容IE8 addEventListener、removeEventListener 函数
  5. linux下测试网卡是否连通shell脚本
  6. 尚学堂python培训的前景
  7. swiper支持动态加载数据
  8. Jquery 分页插件, 带你一步一步接入后台数据
  9. Redis散列表(hash)使用
  10. C# Winform开发 文件夹的删除