Runserver Django在生产中成功,但无法访问站点。但是我可以通过ngrok

问题描述 投票:0回答:1

在生产中,我使用以下命令运行django项目:>

python3 manage.py runserver

结果:

Performing system checks...

System check identified no issues (0 silenced).
December 09, 2019 - 03:23:26
Django version 2.2.7, using settings 'myproject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

我也尝试过python3 manage.py runserver 0.0.0.0:8000

但是当我访问它时,该站点被拒绝连接。(我尝试过0.0.0.0:8000127.0.0.1:8000site-url:8000

当我通过ngrok隧道传输时,它运行平稳。因此,我发现django项目已经在运行,但是我们无法从外部访问它。

当我运行sudo lsof -i -P -n | grep LISTEN时>

结果是:

sshd        890            root    3u  IPv4   18590      0t0  TCP *:22 (LISTEN)
sshd        890            root    4u  IPv6   18592      0t0  TCP *:22 (LISTEN)
apache2    6049            root    4u  IPv6 2895520      0t0  TCP *:80 (LISTEN)
apache2    6049            root    6u  IPv6 2895524      0t0  TCP *:443 (LISTEN)
python3    6117            aina    4u  IPv4 2896228      0t0  TCP 127.0.0.1:8000 (LISTEN)
apache2    6141        www-data    4u  IPv6 2895520      0t0  TCP *:80 (LISTEN)
apache2    6141        www-data    6u  IPv6 2895524      0t0  TCP *:443 (LISTEN)
ngrok      6198            root    3u  IPv4 2896574      0t0  TCP 127.0.0.1:4040 (LISTEN)
apache2    6383        www-data    4u  IPv6 2895520      0t0  TCP *:80 (LISTEN)
apache2    6383        www-data    6u  IPv6 2895524      0t0  TCP *:443 (LISTEN)
apache2    6401        www-data    4u  IPv6 2895520      0t0  TCP *:80 (LISTEN)
apache2    6401        www-data    6u  IPv6 2895524      0t0  TCP *:443 (LISTEN)
apache2    6417        www-data    4u  IPv6 2895520      0t0  TCP *:80 (LISTEN)
apache2    6417        www-data    6u  IPv6 2895524      0t0  TCP *:443 (LISTEN)
apache2    6419        www-data    4u  IPv6 2895520      0t0  TCP *:80 (LISTEN)
apache2    6419        www-data    6u  IPv6 2895524      0t0  TCP *:443 (LISTEN)
apache2    6420        www-data    4u  IPv6 2895520      0t0  TCP *:80 (LISTEN)
apache2    6420        www-data    6u  IPv6 2895524      0t0  TCP *:443 (LISTEN)
apache2    6421        www-data    4u  IPv6 2895520      0t0  TCP *:80 (LISTEN)
apache2    6421        www-data    6u  IPv6 2895524      0t0  TCP *:443 (LISTEN)
apache2    6512        www-data    4u  IPv6 2895520      0t0  TCP *:80 (LISTEN)
apache2    6512        www-data    6u  IPv6 2895524      0t0  TCP *:443 (LISTEN)
apache2    6555        www-data    4u  IPv6 2895520      0t0  TCP *:80 (LISTEN)
apache2    6555        www-data    6u  IPv6 2895524      0t0  TCP *:443 (LISTEN)
apache2    6693        www-data    4u  IPv6 2895520      0t0  TCP *:80 (LISTEN)
apache2    6693        www-data    6u  IPv6 2895524      0t0  TCP *:443 (LISTEN)

我试图通过运行telnet到端口8000telnet 127.0.0.1 8000结果是:

Connected to 127.0.0.1.
Escape character is '^]'.

由于服务器(Apache中的PHP应用程序)中正在运行其他项目,因此我会问Run both Django and PHP application in Apache

但是当我直接访问它(而不是通过ngrok)时,仍然无法访问该站点。我应该怎么做才能访问django?

在生产中,我使用python3 manage.py runserver运行django项目。结果:正在执行系统检查...系统检查未发现问题(0静音)。十二月09,2019-03:23:26 Django ...

django apache ssh production
1个回答
1
投票

这是因为我通过https访问它应该来自http

© www.soinside.com 2019 - 2024. All rights reserved.