django和celery的项目,nginx和uwsgi协议,在通过api端口进行deeplearning任务的训练和排队

问题汇总

  1. redis 安装
  2. django和celery的安装
  3. nginx和uwsgi的安装
    一. Django 的项目,有个runserver直接起了一个webserver,为什么还要Nginx包一层,起一个webserver呢?
    Nginx的性能比Django自带的Webserver的性能要好,python写的程序,deeplab想要被web访问,需要有python写的webserver,
    常见的webserver:uWSGI,Guncom, wsgiref等
    Django自带的runserver的性能不好,其作用主要用于搭建时的功能测试和试运行
    所以通常webserver是联合nginx和uwsgi一起做,WSGI是web服务的网关接口,是web服务器(nginx)和应用服务器(uWSGI)的通信规范
    在实际的应用过程中,web的所有的动态请求会通过uWSGI,而所有的静态请求会通过nginx,(所有的良好的架构都会实现动静分离,这会大大提高web的响应效率)
    二,已经有了本地的Django项目,将其部署到服务器上的步骤
    1 上传项目至目标服务器,保证项目在服务器上能正常运行runserver起来
    2 安装nginx
    pip install nginx
    3 实际生产以conf配置文件启动uwsgi,需要配置相应的conf
    4 安装uwsgi
    conda install uwsgi
    (pip 安装会error)
    5 修改nginx的配置文件

一些config的配置

Django项目和celery结合的项目中的config文件(独立于nginx,能独立运行)

  • ai_service中的settings.py
    其中的ALLOW_HOSTS = [内网访问的地址] (vscode远程连接时,左下角的地址)
  • mycelery文件夹中的config.py
    这里的broker_url和result_backend是redis中的内容,用来接收什么信号到celery队列中吧,我也不知道
    mycelery中的main,会使用这两个config文件,其中ai_service中的settings会设置到os.environ.setdefult,而mycelery.config会被配置到celery的对象app中的app.config_from_object中

========================================================================

nginx和uwsgi中的配置文件

在上面两个config文件配置好后,就不需要再改变了

而在ai_service中有wsgi.py,其中会用到settings.py这个config用以配置环境

为在生产环境中使用,通常会将uwsgi以配置文件的方式启动,uwsgi.ini会在Django项目的根目录下,其中会配置socket(虽然不知什么用),chdir(Django项目的根目录路径), module(ai_server.wsgi) 实际上指向的是wsgi.py文件

ngix在启动时,如果不配置nginx的配置文件,则只会有nginx的欢迎页,其配置文件在/etc/nginx/nginx.conf中,需要以sudo的方式vim更改,在更改时,需要向http中添加server的{},同时,listen和server_name是最重要的;location中的uwsgi_pass后的内容需要和uwsgi.ini中的socket字段相同,uwsgi_read_timeout 是请求发出后,多久定义为timeout并返回(由于计算分类任务的tsne点需要进行迭代,所以需要耗费较长时间,可以将其定义的时间长一点,否则,还没等请求计算完场,就需要返回,并显示timeout,这是不合理的)

修改nginx.conf后需要重启nginx

使用命令 sudo /etc/init.d/nginx restart

报错socket的端口被占用:原因,没有停掉uwsgi,直接关闭了窗口

解决方式: 将那个端口杀死,并重启服务

相关推荐
zchxzl12 分钟前
亲测2026京津冀可靠广告展会
大数据·人工智能·python
时71 小时前
Python 项目环境隔离配置指南:pyenv + venv 组合使用
python
gc_22991 小时前
学习python调用olefile库解析ole文件的基本用法(续)
python·struct·ole
岱宗夫up1 小时前
基于OpenCode搭建Skills环境
python·低代码·ai编程
-To be number.wan1 小时前
用 Pandas 分析自行车租赁数据:从时间序列到天气影响的完整实训
python·数据分析·pandas·数据可视化
Coding茶水间2 小时前
基于深度学习的番茄叶子病虫害监测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·python·深度学习·yolo·目标检测
尘缘浮梦2 小时前
协程asyncio入门案例 1
开发语言·python
没有bug.的程序员2 小时前
Lombok 深度进阶:编译期增强内核、@Data 与 @Builder 逻辑博弈及工业级避坑实战指南
java·开发语言·python·builder·lombok·data·编译器增强
thorn_r2 小时前
RAG系统练手与思考
人工智能·python·机器学习·ai·自然语言处理
猫头虎3 小时前
web开发常见问题解决方案大全:502/503 Bad Gateway/Connection reset/504 timed out/400 Bad Request/401 Unauthorized
运维·前端·nginx·http·https·gateway·openresty