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 超级用户。
- 我已经在 settings.py 和 local_settings.py
中添加了我的 ip 作为主机
- 我已经运行进行了迁移和迁移
- 我确实检查过重建时 IP 是否已更改,但没有
- 我笔记本电脑上的本地环境工作正常,只是 linode 不行
对我遗漏的任何东西有什么建议吗?
部署指南
步骤 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 和主机名和用户)
设置主机名并使用主机名和您的服务器 IP
将其添加到 /etc/hosts
创建新用户并添加到组 sudo 以确保安全
sudo adduser 用户名
sudo 用户mod -aG sudo
为登录启用 SSH 身份验证并在 /etc/ssh/sshd_config 中编辑 ssh 的默认端口。 https://askubuntu.com/questions/1074034/not-able-to-change-ssh-port-on-ubuntu-18-04-1-lts
为新的 Django 配置编辑 /etc/apache2/site-availabledefault-000.conf
步骤 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 自部署工具,只是还没有这样做。
我开始了一个新的 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 超级用户。
- 我已经在 settings.py 和 local_settings.py 中添加了我的 ip 作为主机
- 我已经运行进行了迁移和迁移
- 我确实检查过重建时 IP 是否已更改,但没有
- 我笔记本电脑上的本地环境工作正常,只是 linode 不行
对我遗漏的任何东西有什么建议吗?
部署指南
步骤 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 和主机名和用户)
设置主机名并使用主机名和您的服务器 IP
将其添加到 /etc/hosts创建新用户并添加到组 sudo 以确保安全
sudo adduser 用户名
sudo 用户mod -aG sudo
为登录启用 SSH 身份验证并在 /etc/ssh/sshd_config 中编辑 ssh 的默认端口。 https://askubuntu.com/questions/1074034/not-able-to-change-ssh-port-on-ubuntu-18-04-1-lts
为新的 Django 配置编辑 /etc/apache2/site-availabledefault-000.conf
步骤 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 自部署工具,只是还没有这样做。