【问题标题】:Linode/Django Can't see site when I runserver at ip:8000当我在 ip:8000 运行服务器时,Linode/Django 看不到站点
【发布时间】:2020-01-02 06:22:38
【问题描述】:

我已经启动了一个运行 ubuntu 19.04 的新 linode,并且我第一次使用以下说明:

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

要安装 Mezzanine CMS,它工作得很好,我可以运行 runserver 命令并查看 django 网站。最后,在尝试了 50 种使用 apache 和 mod_wsgi 部署站点的方法后,它开始给我一个问题。

我放弃并重建了服务器,然后当我运行运行服务器时仍然无法在 IP 上看到新安装。我想可能是因为我不小心用“python”安装了一些东西,而另一些用“python3”安装了,所以我重建了服务器。

这第三次我完全按照这个方向做了,唯一的区别是我没有安装mysql服务器,只是保留了默认的SQLlite服务器并创建了一个DB和Django Superuser。

  • 我在 settings.py 和 local_settings.py 中添加了我的 ip 作为主机
  • 我已经运行了 makemigrations 和 migrate
  • 我确实在重建时检查了 IP 是否已更改,但没有
  • 我的笔记本电脑上的本地环境工作正常,但不是 linode

对我缺少的任何东西有什么建议吗?

【问题讨论】:

    标签: django ubuntu mezzanine linode


    【解决方案1】:

    部署指南

    第 1 步(安装)

    • 安装 apache2 mod_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 install 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 默认拒绝传入

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

    • ssh sudo ufw 启用

    第 4 步(Django 配置)

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

    第 5 步(请结帐)

    【讨论】:

      【解决方案2】:

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

      这样做的命令是

      python manage.py runserver 0.0.0.0:8000
      

      Rinshans 的答案是定义部署的细节,我已经按照这些步骤操作,只是在配置和 wsgi 脚本中不断犯一些错误。我将尝试使用 Gunicorn 进行部署,或者使用 Mezzanine CMS 中内置的 Fabric 自行部署工具,只是还没有这样做。

      【讨论】:

        猜你喜欢
        • 2021-01-04
        • 1970-01-01
        • 2014-06-14
        • 2014-03-14
        • 2018-09-13
        • 1970-01-01
        • 2019-06-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多