线上部署celery

739 阅读2分钟

21-线上部署celery_哔哩哔哩_bilibili

服务器设置

  1. 服务器重装系统
  2. 安装宝塔面板
    1. 面板地址:http://122.9.133.139:8888/12a46fc2
    2. 用户名:jfjjxp1u
    3. 密码:6ac325bf
  3. 安装软件
    1. MySQL 8.0
    2. Node.js
    3. Python项目管理器
    4. 进程守护管理器
    5. redis-7.0
    6. nginx-1.22
  4. 开放端口
    1. 3306 数据库端口
    2. 8080 前端web端口
    3. 8000 后端API端口
    4. 5555 监视器flower端口
  5. 拉取项目
    1. 仓库地址:gitee.com/Muzi-Li-Chi…
  6. 配置项目文件
    1. 后端:
      1. django-vue-admin-03/backend/conf 新增env.py文件
    2. 前端:
      1. 修改 .env.production文件中的”后端接口地址及端口(域名)“
  7. 创建数据库
    1. 修改root密码
    2. 添加数据库
  8. 安装node
  9. 进入django-vue-admin-03/backend/web目录,打包前端项目
  10. 用Nginx 部署前端
  11. /www/server/panel/vhost/nginx目录下创建项目的配置文件
  12. 项目地址:http://122.9.133.139:8080/
# 前端配置
server {
  listen       8080;
  client_max_body_size 100M;
  server_name  dvadmin-web;
  charset utf-8;
  location / {
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    root /www/wwwroot/django-vue-admin-03/web/dist;
    index  index.html index.php index.htm;
  }
  # 后端服务
  location /api {
    root html/www;
    proxy_set_header Host $http_host;
    proxy_set_header  X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    rewrite ^/api/(.*)$ /$1 break;  #重写
    proxy_pass http://127.0.0.1:8000;

  }
  # Django media
  location /media  {
    root /www/wwwroot/django-vue-admin-03/backend;  # your Django project's media files - amend as required
  }
  # Django static
  location /static {
    root /www/wwwroot/django-vue-admin-03/backend; # your Django project's static files - amend as required
  }
  #禁止访问的文件或目录
  location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
    return 404;
  }
}
  1. 用Python项目管理器 部署后端
  2. 安装Python版本:3.9.7
  3. 要注意修改"启动文件/文件夹",选到wsgi.py文件
  4. image.png
  5. 在本地,通过修改配置文件,直接对服务器的数据库进行迁移和初始化

部署celery

生产环境中一般将worker放到后台,后台脚本使用celery multi命令后台启动一个或多个worker 使用python项目管理工具启动的项目,需要执行虚拟环境中的celery

/www/wwwroot/django-vue-admin-03/backend/8596e2b0a1c6d84e57ce53644eac4cbb_venv/bin/celery

celery 前台启用

celery -A application.celery worker -B --loglevel=info

celery 后台启用

celery multi start -A application.celery worker -B --loglevel=info

celery 后台停止

celery multi stop -A application.celery worker -B --loglevel=info

stop命令是异步的所以它不会等待worker关闭,可以使用stopwait命令来确保当前执行都任务在退出前都已执行完毕

celery multi stopwait -A application.celery worker -B --loglevel=info

监视器 安装 flower

pip install flower

开启监视器

celery -A application.celery flower --port=5555 --address=0.0.0.0

请先在安全里面打开 5555 端口 监视器地址:http://122.9.133.139:5555/