为什么我的Django网站出现网络错误?

问题描述

我的django网站已与默认的SQLite DB集成在一起。昨天,我尝试将其迁移到Postgres,但是由于某些密码问题,迁移失败。然后,我尝试通过仅取消注释settings.py中的SQLite部分而退回到SQLite。但是它也失败了。我想我打破了数据库。为了解决这个问题,我使用下面的CLI命令删除了SQLite中的所有内容:

python manage.py migrate my-app-name zero

然后我使用makemigratons,然后进行迁移。因此,这里的一切似乎进展顺利。但是,现在我的网站遇到连接问题。它不是从Web浏览器启动的。

我不知道自己是否弄乱了整个环境。

我的网站托管在Ubuntu服务器上的AWS上,它已经启动并正在运行gunicorn和nginx。最初我收到以下错误:

A communication error occurred: The Web Server may be down,too busy,or experiencing other problems preventing it from responding to requests

我检查了journalctl日志,发现如下内容:

nginx.service: Failed to read PID from file /run/nginx.pid: Invalid argument

要尝试解决此问题,我关注了网络link。但是,它不起作用。我不确定这是否与我的情况有关。

继续,我重新启动了我的AWS实例,只是看它是否有任何积极作用。但是现在,我明白了

Hmmm… can't reach this page 

在我的网络浏览器上。

我尝试查看nginx服务器日志,它只有三行以下

2020/08/14 16:27:23 [alert] 3246#3246: *22 open socket #12 left in connection 5
2020/08/14 16:27:23 [alert] 3246#3246: *23 open socket #13 left in connection 6
2020/08/14 16:27:23 [alert] 3246#3246: aborting

然后,我还检查了syslog以查看它是否具有一些重要信息。我确实通过"tail -f"实时日志注意到了一些内容,如下所示:

S=0x00 SYN URGP=0
Aug 15 04:20:43 primarySNS amazon-ssm-agent.amazon-ssm-agent[898]: 2020-08-15 04:20:43 INFO Backing off health check to every 600 seconds for 1800 seconds.
Aug 15 04:20:43 primarySNS amazon-ssm-agent.amazon-ssm-agent[898]: 2020-08-15 04:20:43 ERROR Health ping failed with error - EC2RoleRequestError: no EC2 instance role found
Aug 15 04:20:43 primarySNS amazon-ssm-agent.amazon-ssm-agent[898]: caused by: EC2MetadataError: failed to make EC2Metadata request
Aug 15 04:20:43 primarySNS amazon-ssm-agent.amazon-ssm-agent[898]: #011status code: 404,request id:
Aug 15 04:20:43 primarySNS amazon-ssm-agent.amazon-ssm-agent[898]: caused by: <?xml version="1.0" encoding="iso-8859-1"?>
Aug 15 04:20:43 primarySNS amazon-ssm-agent.amazon-ssm-agent[898]: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
Aug 15 04:20:43 primarySNS amazon-ssm-agent.amazon-ssm-agent[898]: #011"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Aug 15 04:20:43 primarySNS amazon-ssm-agent.amazon-ssm-agent[898]: <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
Aug 15 04:20:43 primarySNS amazon-ssm-agent.amazon-ssm-agent[898]:  <head>
Aug 15 04:20:43 primarySNS amazon-ssm-agent.amazon-ssm-agent[898]:   <title>404 - Not Found</title>
Aug 15 04:20:43 primarySNS amazon-ssm-agent.amazon-ssm-agent[898]:  </head>
Aug 15 04:20:43 primarySNS amazon-ssm-agent.amazon-ssm-agent[898]:  <body>
Aug 15 04:20:43 primarySNS amazon-ssm-agent.amazon-ssm-agent[898]:   <h1>404 - Not Found</h1>
Aug 15 04:20:43 primarySNS amazon-ssm-agent.amazon-ssm-agent[898]:  </body>
Aug 15 04:20:43 primarySNS amazon-ssm-agent.amazon-ssm-agent[898]: </html>

看完以上内容,现在我感到我的AWS实例发生了什么事。但我不确定需要做什么。

注意:在尝试不成功的数据库迁移之前,网站已启动并正在运行。

请帮助,让我知道是否需要更多信息。

谢谢

卷曲错误消息:

    "curl: (7) Failed to connect to schoolnskill.com port 80: Connection timed out

curl localhost messages:
curl localhost
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma,Verdana,Arial,sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page,the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>

解决方法

基于聊天讨论。

连接问题是由实例上的ufw 防火墙引起的。防火墙在与端口80的传入连接中被阻止

临时解决方案是禁用ufw来启用连接并在应用程序上进一步工作。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...