django + uwsgi 部署上线

django + uwsgi 部署上线

 

开发阶段使用运行命令

1 # 事实上runserver 就是django 自带的一个服务器 因为收发请求性能较差仅在开发阶段使用,
项目部署我们一般使用uwsgi 服务器来处理动态请求
2 python manage.py runserver

啥是uwsgi?

一个轻量级的python服务器 遵从 wsgi 协议,简单好用就是了

流程

  1. 安装uwsgi

 
1 pip install uwsgi
2 # 无法成功下载试试更新pip 或者换国内源 

 

 
  1. 更改项目配置

1 #线上模式
2 3 # settings 中
4 5 DEBUG = FALSE
6 7 ALLOWSE_HOST=['*']
8

 

  1. 创建 uwsgi启动文件

​方案一: ini 启动
复制代码
 1 ------------uwsgi.ini------------
 2 [uwsgi]
 3 # 使用nginx 时
 4 socket = 127.0.0.1:8000
 5 # 直接使用uwsgi
 6 http= 127.0.0.1:8000
 7 # 项目目录 
 8 chdir=/home/python/Desktop/ai-web
 9 # 项目中uwsgi.py 位置相对于 项目目录
10 wsgi_fire=ai-web/aiweb/wsgi,py
11 processes=4 # 进程数
12 threads=2 # 线程数
13 master =True # 有主进程
14 pidfire= uwsgi.pid    # 保存主进程的pid 在项目目录下
15 daemonize =uwsgi.log # 设置后台运行 进程守护 信息写入日志 在项目目录下
16 virtualenv=/home/python/.virtualenvs/aiweb # 设置虚拟环境路径
17 -----------------------
18 # 使用时注释全部去掉不然无法运行  socket 或http 选一个就行了 
复制代码

 

方案二

因为方案一启动有时在ubuntu 下启动了uwsgi但是没有启动项目网上找了很多解决方案也没有所有给了方案二

创建 xml 启动文件

-------uwsgi.xml-----------

复制代码
<uwsgi>
    <http>172.16.51.218:21001</http>
    <chdir>/home/python/Desktop/astar-ai-web/astar_ai</chdir>
    <module>aiweb.wsgi</module>
    <processes>4</processes>
    <threads>2</threads>
    <master>true</master>
    <daemonize>uwsgi.log</daemonize>
    <pidfile>uwsgi.pid</pidfile>
</uwsgi>
复制代码

 


 

  1. 启动和停止

复制代码
 1 启动:
 2 uwsgi --ini 配置文件路径 如:--ini uwsgi.ini
 3 uwsgi --ini uwsqi.ini # ini启动(路径注意)
  uwsgi -x uwsqi.xml  # xml 启动
4 停止 5 uwsgi --stop uwsqi.pid #(路径注意) 6 7 # 查看日志 8 tail -f uwsgi.log 9 10 # uwsgi.log 和 uwsqi.pid 都是uwsgi启动后自动生成的有时候不知道原因没有生成 uwsqi.pid 想要停止项目可以先找到进程再杀掉 11 12 # 检查 进程 13 ps --aux |grep uwsgi
复制代码

 

 

缺点与不足:

因为uwsgi 是轻量级的服务器 ,所以只处理动态请求,也就是说对于前后端不分离的开发模式,加载静态文件会出问题, 这种使用静态文件部署一般是再搭配Nginx

posted @   貌似大家  阅读(1562)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示