Linode/Django 当我在 ip:8000 运行服务器时看不到站点

Linode/Django Can't see site when I runserver at ip:8000

我开始了一个新的 linode 运行ning ubuntu 19.04,我第一次使用的方向是:

https://www.rosehosting.com/blog/how-to-install-mezzanine-cms-on-ubuntu-18-04/

要安装 Mezzanine CMS,它工作得很好,我可以 运行 运行server 命令并查看 django 网站。在尝试了 50 种使用 apache 和 mod_wsgi.

部署站点的方法后,它最终开始给我带来问题

我放弃并重建了服务器,然后在运行 运行 服务器时仍然无法在IP 看到新安装。我想可能是因为我不小心安装了一些使用 "python" 的东西和其他使用 "python3" 的东西所以我重建了服务器。

这是我第三次完美地遵循了方向,唯一的区别是我没有安装 mysql 服务器,只是保留了默认的 SQLlite 服务器并创建了一个数据库和 Django 超级用户。

对我遗漏的任何东西有什么建议吗?

部署指南

步骤 1(安装)

  • 安装apache2mod_wsgi

  • 安装虚拟环境

  • 安装虚拟环境

  • 安装 Nginx 以异步事件驱动的方式处理多个客户端请求

  • 安装mysql

    sudo apt-get 更新

    sudo apt-get install python3-pip python3-dev apache2 libapache2-mod-wsgi-py3

    sudo apt-get install virtualenv ufw

    sudo apt-get 安装 nginx

    sudo apt-get install mysql-server libmysqlclient-dev

    sudo mysql_secure_installation

步骤 2(Apache 和主机名和用户)

步骤 3(防火墙)

  • sudo ufw 允许 8000

  • sudo ufw 允许 http

  • sudo ufw 允许 ssh

  • sudo ufw 默认允许传出

  • sudo ufw default deny incoming

  • 启用所有其他需要的端口号

  • ssh sudo ufw 启用

第四步(Django配置)

  • 关闭静态和媒体文件并递归编辑它的权限
  • 在settings.py
  • 中添加允许的主机
  • 在django官网检查部署清单并执行。

第5步(请结帐)

  • 有关apache配置请访问https://pythonprogramming.net/deploying-to-server-django-tutorial/
  • 如果发现任何错误,如内部服务器错误、配置错误等,请编辑 Apache 配置中给出的路径(WSGI 脚本的路径,python-路径,python-home)
  • 参考python-home路径请参考Get virtualenv's bin folder path from script
  • 您还可以添加 python-WSGIDaemonProcess 路径
  • 此外,您可以访问puttygen进行public和私钥生成以通过SSH登录

对于这个特殊的问题,我只需要突然将开发服务器绑定到 0.0.0.0

这样做的命令是

python manage.py runserver 0.0.0.0:8000

Rinshan 的回答明确了部署的细节,我遵循了这些步骤,只是在配置和 wsgi 脚本中一直犯了一些错误。我将尝试使用 Gunicorn 进行部署或使用 Mezzanine CMS 中内置的 Fabric 自部署工具,只是还没有这样做。