【问题标题】:How do i run django application without port number如何在没有端口号的情况下运行 django 应用程序
【发布时间】:2021-12-28 01:21:44
【问题描述】:

如何在没有端口号的情况下运行 django 应用程序:我尝试过 Django: Run django app on server without port? 但没有成功。

【问题讨论】:

  • 你能解释一下为什么你不想在没有端口的情况下运行吗?

标签: django django-views


【解决方案1】:

Web 服务必须在系统接口上绑定一个端口。因此,您应该指定一个端口号来运行您的 Django 应用程序。 HTTP 的默认端口号为 80,HTTPS 为 443。但您可以使用 [1-65535] 之间的自定义端口: 例如;

python manage.py runserver 7000

【讨论】:

  • 谢谢@M Burak,我如何在没有网络服务器的情况下在默认端口 80 中运行配置为 dev 的 Docker Django 应用程序,在我的本地开发人员中运行“python manage.py runserver 80” “我可以在没有端口号 [127.0.0.1] 的情况下运行应用程序,我如何在 Docker 中做同样的事情? " web: build: . command: sh -c "/etc/init.d/cron start && python manage.py makemigrations && python manage.py migrate && python manage.py crontab add && exec python manage.py runserver 0.0.0.0 :8000" 端口:-"8000:8000" 依赖:-db"
【解决方案2】:

您可以尝试以下方法:

python manage.py runserver 80

或者如果您没有权限(假设您使用的是 Linux):

sudo python manage.py runserver 80

然后,您可以访问您的应用程序:http://localhost/

【讨论】:

    【解决方案3】:

    一般来说,Web 服务需要一个端口才能运行。如果使用的端口是默认的http (80)https (443) 端口,现代网络浏览器会将其隐藏在地址栏中。

    在开发服务器中,如果系统中的任何其他 Web 服务未使用该端口,您可以通过将其分配给端口 80 来隐藏端口(因为您不想再看到它)(否则 django 会抱怨) :

    python manage.py runserver 80
    

    在生产服务器中,您需要使用像 Gunicorn 这样的服务器在后端运行您的 django 应用程序,并使用像 NginxApache 这样的 Web 服务器将您的后端服务到外部世界。在这种情况下,由于 Web 服务器使用 http/https 端口,因此在浏览器中将看不到任何端口。

    【讨论】:

    • 谢谢@Basil C Sunny,我如何在没有网络服务器的情况下在默认端口 80 中运行配置为 dev 的 Docker Django 应用程序,在我的本地开发人员中运行“python manage.py runserver” 80" 我可以在没有端口号 [127.0.0.1] 的情况下运行应用程序,我如何在 Docker 中做同样的事情? " web: build: . command: sh -c "/etc/init.d/cron start && python manage.py makemigrations && python manage.py migrate && python manage.py crontab add && exec python manage.py runserver 0.0.0.0 :8000" 端口:-"8000:8000" 依赖:-db"
    • 带有端口映射,如端口:-"80:8000"
    猜你喜欢
    • 2020-04-23
    • 1970-01-01
    • 2016-01-29
    • 2021-12-28
    • 2013-12-31
    • 2017-05-08
    • 2012-05-21
    • 2020-10-19
    • 1970-01-01
    相关资源
    最近更新 更多