【问题标题】:I can't running django on port 80我无法在端口 80 上运行 django
【发布时间】:2021-06-05 02:25:20
【问题描述】:

我无法在我的网站服务器上的 80 端口运行 django...因为它让我知道该端口已在使用中??我可以知道具体是什么问题吗?

这是我网站的链接 它只给了我一个 html 页面 (zabarjad.co)。

但是当我输入命令行运行 django 时,会发生这种情况:

aziz@zabarjad-djangostack-vm:/var/www/zabarjadprod$ sudo python3 manage.py runserver 0.0.0.0:80
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
March 06, 2021 - 17:40:17
Django version 2.2.15, using settings 'zabarjadprod.settings'
Starting development server at http://0.0.0.0:80/
Quit the server with CONTROL-C.
Error: That port is already in use.

【问题讨论】:

    标签: python django web web-applications google-compute-engine


    【解决方案1】:

    Aziz,你系统的 80 端口有东西在运行。检查系统上安装的其他服务和服务器并关闭所述端口。

    【讨论】:

    • 以及如何找到到底在运行什么......原因现在已经 1 个月了,找不到任何可以帮助我的东西
    • 你用什么操作系统?
    • 我用的是linux debian
    • 我找到了这个:tcp6 0 0 :::80 :::* LISTEN 7054/apache2 我可以知道这是什么意思吗?
    【解决方案2】:

    这意味着您的计算机上有其他程序在端口80 上运行。我个人在我的~/.bash_profile 中有以下快捷方式来分析这些事情:

    alias ports="sudo lsof -iTCP -sTCP:LISTEN -n -P"
    

    如果你自己运行它,你应该会看到类似的东西(假设你运行的是 MacOS。如果不是谷歌,如何为你的机器找到正在运行的进程的端口):

    在右侧,显示了每个进程的端口。然后,您可以执行 kill {PID}(例如 kill 4749 会杀死我的 Spotify 实例)来杀死在端口 80 上运行的进程(确保它不是您实际使用的东西)。


    不过,我应该补充一点,您可能希望在本地使用端口80 的次数很少。最好使用8080 或其他东西,并且仅在部署时使用80

    【讨论】:

    • 对不起,我忘了说我使用“谷歌计算引擎”,所以我在谷歌服务器上使用虚拟机......这个解决方案是否同样有效?
    • 可能另一个服务已经在 VM 的 80 端口上运行。无论如何,我认为 Django 不建议在生产环境中使用 manage.py 运行服务器是值得理解的。 This 可能有助于解决端口 80 被占用的问题。如果您正在为生产进行部署,请查看上面的文档here - 这不是解决“80 端口惨败”的解决方案,但值得牢记。
    • 我只想运行python3 manage.py runserver 0.0.0.0:80,但它拒绝并给了我这个Error: That port is already in use. 我不知道它到底在哪里使用或我该如何更改它...简要地说我唯一的事情想要做的是让我的网站正常运行,但它没有呈现您在此处看到的代码(zabarjad.co)
    • 再次 - 在这种情况下,端口 80 正在 VM 中使用。在上面的评论中,我链接了一个可能有帮助的 SO 问题。
    猜你喜欢
    • 2019-03-01
    • 2017-12-25
    • 2012-07-01
    • 2014-08-16
    • 2011-06-16
    • 2015-08-25
    • 1970-01-01
    • 1970-01-01
    • 2011-11-13
    相关资源
    最近更新 更多