问题描述
我正在尝试通过SSH在Siteground上部署Django应用。我已经通过Filezilla传输了所有文件。一切都已设置。
我已经使用ubuntu在AWS上开发了多个应用程序。但是在现场,Fedora OS是通过SSH提供的,对此我不太熟悉。我没有超级用户权限。
在端口8000上运行我的Django服务器:
python manage.py runserver 0.0.0.0:8000
主机名已添加到setting.py的ALLOWED_HOST中:
ALLOWED_HOSTS = [“ himeshp7.sg-host.com”,“ *”]
服务器正在SSH中运行,但无法在浏览器中打开Web应用程序。在AWS中,我们可以选择启用安全组中的端口,但是我在Siteground上找不到类似的内容,我也与客户服务部门进行了交谈,但是他们告诉客户进行升级,但我仍然怀疑那之后它是否可以工作因为我找不到适合在Siteground上部署Django的任何内容。
解决方法
您需要将服务器IP地址添加到ALLOWED_HOSTS
并执行python manage.py runserver <your_server_ip_address>:8000
才能在调试模式下简单地运行应用程序。 (替换
要在生产环境中托管应用,除了通过安装WSGI HTTP Server,配置在端口80或其他端口上运行应用之类的命令来运行应用之外,您还需要做更多的事情。
Amazon AWS具有大多数功能的UI,因此您可以轻松地启用端口等功能。其他托管服务提供商不是这种情况。
除非您没有sudo特权,否则没有任何选项可以在共享托管中运行Django应用。出于安全原因,为共享主机提供SSH /终端访问权限的主机提供程序不会提供sudo特权。您应该拥有一个VPS /专用帐户,该帐户花费较高才能更好地控制服务器。
我为什么需要sudo特权?
- 您可能需要安装其他软件包/依赖项。
- 为您的域添加其他apache / nginx配置。等等
否则,您可以寻找主机提供商,他们在CPanel的“软件”部分中提供额外的“ Setup Python App”以用于其共享主机计划。您无需担心服务器配置。
有许多提供商在其共享主机中提供了此选项。我知道其中两个这样的提供者:
基于我在Hostgator VPS link上部署python应用程序的经验。