ubuntu 20.10下uvicorn+nginx部署django

uvicorn使用supervisor部署。

app@app:~/report$ ls /etc/supervisor
conf.d  supervisord.conf
app@app:~/report$ ls /etc/supervisor/conf.d
uvicorn-pz.conf
app@app:~/report$

uvicorn-pz.conf使用ls做软连接,文件放在django项目文件夹。
譬如: sudo ln -s /home/app/report/uvicorn-pz.conf
1、uvicorn的program写法:

[fcgi-program:uvicorn]
socket=unix:///tmp/uvicorn.sock
command=/home/app/report/venv/bin/uvicorn --fd 0 share_report.asgi:application
numprocs=4
directory=/home/app/report/
process_name=uvicorn-%(process_num)d
stdout_logfile=/home/app/logs/pz.log
stdout_logfile_maxbytes=0
user=www-data

注意 user字段,使用www-data与nginx用户一致,否则会导致nginx连接被拒绝。若不填user,uvicorn每次重启,默认此sock为root,然后nginx就显示502错误。
另外需要注意,后缀使用.conf,不再用.ini
proxmox虚拟机分配了4个核,numprocs就写4 .
在这里插入图片描述
2、nginx增加conf文件:

server {
    listen 80;
    client_max_body_size 64m;

    server_name 10.101.0.204;

    location / {
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_redirect off;
      proxy_buffering off;
      proxy_pass http://uvicorn;
    }

    location /static {
      # path for static files
      root /home/app/report;
    }
}

upstream uvicorn {
    server unix:///tmp/uvicorn.sock;
}

prixt_pass 照抄,不要改。
/static部分,“/home/app/report”不需要再加static,否则url会出现两个static。

3、Minio server的配置
参考How to Set Up an Object Storage Server Using Minio on Ubuntu 16.04
注意,minio.service文件
raw文本打不开,但是可以打开其显示文本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

容沁风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值