Django:错误:您无权访问该端口 - python

我是整个安装的新手,请保持友善。
在dev上,该命令通常可以正常工作,但是自从我尝试使用Django的不同命令以来,某些东西就出错了。

python manage.py runserver 0.0.0.0:80

我没有使用此端口的权限了。我可以使用端口8080,但将端口添加到url中通常的主机名末尾时,网站无法正常工作。当我使用端口80时,无论如何我都无需在URL中添加:80。

我没有对日志文件的权限,但发生了错误,但是我更改了该文件的权限。似乎有很多我没有权限的事情。

Django 1.8.5。
使用虚拟环境,我在项目中有2个应用程序。

参考方案

如果您使用的是Linux,则会收到此错误。

首先,Django没有生产服务器,只有非常基本的开发服务器,默认情况下使用端口8080。

当您执行命令时

python manage.py runserver

您告诉django启动其开发服务器并运行,因此您可以在将Web应用程序部署到生产服务器之前对其进行测试。

Django Documentation -> django-admin -> Run Server

访问服务器的方法是使用浏览器,然后在地址栏中插入URL。

localhost:8080

默认情况下,除非另有说明,否则大多数HTTP应用程序都在端口80上运行。例如,默认情况下,您的MySQL服务器可以在端口3306上运行。

基本上,您可以将端口视为老式的学校电话线,可以将您连接到您希望与之通信的对象。

这些都没有什么特别的。您可能应该先玩一瓶酒,然后再开始学习基础知识。只是一个友好的建议。

您可以在网站上挖掘详细信息。虽然不安全,但可以使用sudo在端口80上运行,但是出于安全原因,应避免使用它。

@ mtt2p提到了一个serverfault帖子,它很好地解释了为什么

我敢肯定有一种方法可以告诉服务器仅允许本地连接,但是当您想向他人炫耀工作或查看Web应用在其他设备上的外观时,则应仅使用0.0.0.0:80。

从长远来看,sudo会更轻松,更快捷,但是又懒又不安全。

这是一个在virtualenv上下文中对其进行说明的链接。

Django runserver error when specifying port

答案指出

我猜sudo命令将在超级用户中运行该进程
上下文,而超级用户上下文缺少virtualenv设置。

制作一个shell脚本来设置virtualenv并调用manage.py
运行服务器,然后sudo此脚本。

您应注意,解释基于virtualenv的上下文的答案也不安全。它应该只运行为

sudo python manage.py runserver 80

sudo bash script-name

在virtualenv之外。这样做会破坏将应用程序沙盒化的目的。如果您忽略这一点,您将使自己暴露于race condition。

如何在Django中解决模块名称冲突? - python

创建Django应用程序时出错:python端发生错误。退出代码:1,err:CommandError:'untitled1'与现有Python模块的名称冲突,因此不能用作项目名称。请尝试使用其他名称。 python大神给出的解决方案 您正在使用哪个版本的python?升级您的django版本或降级您的python版本,这应该可以解决问题。您可以在cl中执行…

这是linux还是virtualenv错误? - python

我4天前问过this question。现在,当我打开一个终端时,会看到以下内容:还有这个:它与我最初遇到的问题有关,还是与python和virtualenv有关? 参考方案 停止使用su和sudo运行virtualenv。您需要以普通用户身份运行virtualenv。您已经使用sudo创建了virtualenv,这就是为什么出现这些错误的原因。

Django:DateField“此字段不能为空。” - python

我发布这样的休息请求:{title:some title, recurring:true, day:Wednesday, time:12:30, description:some text} 我没有传递日期,因为该事件重复发生,并且该值应该为空。服务器响应为:{"date": ["This field cannot be bla…

Django TestCase不保存我的模型 - python

我目前正在为Django应用编写一些测试。我的应用程序的signal.py文件中具有以下独立功能:def updateLeaveCounts(): # Setting some variables here todaysPeriods = Period.objects.filter(end__lte=today_end, end__gte=today_sta…

将Django博客项目集成到HTML网站中 - python

我有一个经常使用HTML5,CSS3,JQUERY和静态图像的网站。我也有一个用Django编写的Blog,我想将其集成到网站中。我对Django真的很陌生,所以我想知道哪种方法是最好的使用方法。我应该将网站代码集成为Django项目的一部分,还是有其他解决方案?谢谢! 参考方案 您有2种方法将当前站点与Django集成。1)您可以使用API编写Django…