服务器设置
- 服务器重装系统
- 安装宝塔面板
- 面板地址:http://122.9.133.139:8888/12a46fc2
- 用户名:jfjjxp1u
- 密码:6ac325bf
- 安装软件
- MySQL 8.0
- Node.js
- Python项目管理器
- 进程守护管理器
- redis-7.0
- nginx-1.22
- 开放端口
- 3306 数据库端口
- 8080 前端web端口
- 8000 后端API端口
- 5555 监视器flower端口
- 拉取项目
- 配置项目文件
- 后端:
- 在
django-vue-admin-03/backend/conf新增env.py文件
- 在
- 前端:
- 修改
.env.production文件中的”后端接口地址及端口(域名)“
- 修改
- 后端:
- 创建数据库
- 修改
root密码 - 添加数据库
- 修改
- 安装node
- 进入
django-vue-admin-03/backend/web目录,打包前端项目 - 用Nginx 部署前端
- 在
/www/server/panel/vhost/nginx目录下创建项目的配置文件 - 项目地址: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;
}
}
- 用Python项目管理器 部署后端
- 安装Python版本:3.9.7
- 要注意修改"启动文件/文件夹",选到
wsgi.py文件 - 在本地,通过修改配置文件,直接对服务器的数据库进行迁移和初始化
部署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/