首页 > 其他分享 >29、Django-uWSGI项目部署

29、Django-uWSGI项目部署

时间:2024-07-09 22:42:38浏览次数:16  
标签:WSGI http -- py 29 Django uWSGI uwsgi

WSGI(Web Server Gateway Interface)Web服务器网关接口、是Python应用程序或框架和Web服务器之间的一种接口、被广泛使用

使用python manage.py runserver 通常只是再开发测试环境中使用

当开发结束后、完善的项目代码需要在一个高效稳定的环境中运行、这时可以使用WSGI

这里WSGI起着连接runserver和django作用
django只认识WSGI、而runserver把http或https的请求协议转为WSGI规范发给django

 

uWSGI:是WSGI的一种、它实现了http协议、WSGI协议、uwsgi协议(二进制)、uWSGI功能完善、支持协议众多
-- 主要以学习配置为主

1、安装uWSGI:(不支持window版本)
  -- pip3 install uwsgi==2.0.18
    
2、配置
  -- 添加配置文件(与setting.py同一个目录):myproject/myproject/uwsgi.ini
  -- socket和http二选一
-----------------------------------------------------------------
[uwsgi]       
socket = 127.0.0.1:8000    #套接字方式【此模式需要有nginx】
http = 127.0.0.1:8000        #http通讯方式的ip地址:端口
chdir/home/tarena/..../my_project    #项目当前的工作目录
wsgi-file = my_project/wsgi.py    #项目一中wsgi.py文件的目录
process = 4    #进程个数
threads = 2     #每个进程的线程个数
pidfile=uwsgi.pid      #pid文件存放路径
daemonize=uwsgi.log     #后台启动守护进程、且日志文件存放路径
master=true     #启用主进程
------------------------------------------------------------------

3、修改setting.py
  -- 将DEBUG=True改为False
  -- ALLOWED_HOSTS = [网站域名]或者[服务器监控的ip端口]

4、启动uwsgi
  -- cd 到uWSGI所在的目录
  -- 执行:开启uwsgi
    -- uwsgi --ini uwsgi.ini
5、访问:127.0.0.1:8000

  -- 停止:
    -- uwsgi --stop uwsgi.pid

 

 

标签:WSGI,http,--,py,29,Django,uWSGI,uwsgi
From: https://www.cnblogs.com/littlecc/p/18209537

相关文章

  • 28、Django-发送邮件
    SMTP全称是(SimpleMailTransferProtocol)即简单邮件传输协议(端口是25)-他是一组用于从源地址到目的地址传输邮件的规范、通过它来控制邮件的中转-属于推送协议-负责发送IMAP-邮件相关协议(InternetMailAccessProtocol)即交互式邮件访问协议、是一个应用层协议、端口是143-用来从本地邮件客户端(OutlookExporess、Foxmail、MzzillaThunderbird)访问远程服务......
  • 27、Django-文件上传
    上传规范:1、文件上传必须为POST提交方式2、表单'<form>'中文件上传时必须带有enctype="multipart/form-data"时才会有包含文件内容的数据3、表单中用<inputtype="file"name="xxx">标签上传文件#在视图函数中-用request.FILES取文件框的内容-file=request.FILES['xxx......
  • 30、Django-项目部署-nginx
     原理: 安装: 配置:-这里uwsgi_pass表示使用uwsgi协议转发代理-include表示加载uwsgi协议的参数(固定)-nginx-t  #检查配置文件语法  修改uWSGI:  socket表示启用uwsgi协议      ......
  • Django学习第六天
     启动项目命令pythonmanage.pyrunserver取消模态框功能js实现列表数据删除第二种实现思路使用jquery修改模态框标题编辑页面拿到数据库数据显示默认数据功能实现想要去数据库中获取数据时:对象/字典三种不同的数据类型使用Ajax传入数据实现表单编辑,删除,修改......
  • 16、 Django-多表操作-多个模块的关联-一对一的增删改查- models.onetoone()
    一对一不是数据库的一个连表操作、而是Django独有的一个连表操作、一对一相当于是特殊的一对多的关系、只是相当于加了unique=True models.pyfromdjango.dbimportmodels#身份证classIDCard(models.Model):idcard_num=models.CharField(max_length=18,unique=......
  • 15、 Django-多表操作-多个模块的关联-多对多的增删改查- models.manytomany()
    针对多对多的关系django会自动创建第三张表、也可以通过through参数指定第三张表 models.pyfromdjango.dbimportmodels#Createyourmodelshere.#多对多#用户表:电影=N:M#一个用户可以收藏多部电影#一部电影可以被不同的用户收藏#电影classMovie(models.M......
  • 14、 Django-多表操作-多个模块的关联-一对多的增删改查- models.ForeignKey()
    #多模块关联--关联分类:Django中的三个函数--ForeignKey-称为外键:一对多、将字段定义在多的一端中--ManyToMnayField:多对多、将字段定义在两端的任意一端中--OneToOneField:一对一、将字段定义在任意一端中 如:一对一:一对多:多对多:常用......
  • Exam20240629 赛后结
    Exam20240629赛后结T1想法几乎是对的,结果两个不能直接乘起来就是如果你不太冷静的话就容易做出错误的判断,我考虑了这个问题,居然认为直接乘起来是可以的emmT2不太熟悉容斥,想到前缀和之后扔了结果它这个时候就已经变成slime和npc了这个时候就只需要钦定一段是大于k的其......
  • P2901 [USACO08MAR] Cow Jogging G (拓扑序+归并排序)
    P2901[USACO08MAR]CowJoggingG拓扑序+归并排序容易看出图是有向无环图,考虑在拓扑序上维护每个点的\(k\)短路。假如遍历到\(u\),有边\((u,v,w)\),\(u\),\(v\)各自有自己的\(k\)短路,我们需要将\(u\)上的\(k\)短路加\(w\)后与\(v\)上排序,然后去前\(k\)小。直接做......
  • 编译安装Kubernetes 1.29 高可用集群(8)--Dashboard和Traefik安装部署
    1.部署Dashboard1.1在任意k8s-master节点上安装dashboard#helmrepoaddkubernetes-dashboardhttps://kubernetes.github.io/dashboard/#helmupgrade--installkubernetes-dashboardkubernetes-dashboard/kubernetes-dashboard--create-namespace--namespacekuberne......