首页 > 解决方案 > 截至 2019 年 9 月,使用从 Let's Encrypt Certbot 获得的 ssl 在 Digital Ocean 上托管 Django 应用程序

问题描述

我正在尝试在我的域名上启用 ssl,在我按照 certbot 网站上的步骤为我的新域设置 ssl 后,我在运行时收到错误 port 80 is already in use python3 manage.py runserver 0.0.0.0:80

我正在使用 nginx,这就是我的索引页面上显示的内容。我想在将gunicorn绑定到该端口之前测试https,但它会起作用吗?

我在两周前尝试过这样做,并且效果很好。安装了 nginx 和 ssl 证书并运行python3 manage.py runserver 0.0.0.0:80 ,它正在工作

标签: djangossldigital-oceanlets-encryptcertbot

解决方案


当 nginx 运行时,您将无法使用runserver,因为 nginx 正在使用端口 80。如果您需要使用,您有几个选项runserver

  • 通过 Web 门户中的 Digital Ocean 网络选项打开另一个端口,在该端口上运行 runserver(可能是端口 8000?)
  • 需要使用时停止nginx服务runserver

我不明白的一件事是,runserver如果你有 nginx 和 gunicorn,为什么你需要运行。我猜两周前你跑runserver的时候没有运行 nginx 守护进程。祝你好运!


推荐阅读