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

为什么我的Django网站出现网络错误?,django,amazon-web-services,ubuntu,nginx,webserver,Django,Amazon Web Services,Ubuntu,Nginx,Webserver,我的django网站与默认的SQLite数据库集成。昨天,我尝试将其迁移到Postgres,但是,由于一些密码问题,迁移失败。然后,我试图通过取消settings.py中SQLite部分的注释,回到SQLite。但它也失败了。我想我把数据库弄坏了。为了解决这个问题,我使用下面的CLI命令删除SQLite中的所有内容: python manage.py migrate my-app-name zero 然后我使用makemigrations,然后使用migrate。所以,这里一切似乎都很顺利。然

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

python manage.py migrate my-app-name zero
然后我使用makemigrations,然后使用migrate。所以,这里一切似乎都很顺利。然而,现在我的网站面临连接问题。它不是从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
为了解决这个问题,我上网了。但是,它不起作用。我不确定这是否与我的处境有关

接下来,我重新启动了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>
S=0x00 SYN URGP=0
8月15日04:20:43 primarySNS亚马逊ssm代理亚马逊ssm代理[898]:2020-08-15 04:20:43信息每600秒对健康检查进行一次备份,持续1800秒。
Aug 15 04:20:43 primarySNS amazon ssm代理。amazon ssm代理[898]:2020-08-15 04:20:43错误运行状况ping失败,错误为-EC2RoleRequestError:未找到EC2实例角色
Aug 15 04:20:43 primarySNS amazon ssm代理。amazon ssm代理[898]:原因:EC2Metadata错误:无法发出EC2Metadata请求
8月15日04:20:43 primarySNS亚马逊ssm代理。亚马逊ssm代理[898]:#011状态代码:404,请求id:
8月15日04:20:43 primarySNS亚马逊ssm代理。亚马逊ssm代理[898]:原因:
8月15日04:20:43 primarySNS亚马逊ssm代理。亚马逊ssm代理[898]:
8月15日04:20:43 primarySNS亚马逊ssm代理。亚马逊ssm代理[898]:
8月15日04:20:43 primarySNS亚马逊ssm代理。亚马逊ssm代理[898]:
8月15日04:20:43 primarySNS亚马逊ssm代理。亚马逊ssm代理[898]:404-未找到
8月15日04:20:43 primarySNS亚马逊ssm代理。亚马逊ssm代理[898]:
8月15日04:20:43 primarySNS亚马逊ssm代理。亚马逊ssm代理[898]:
8月15日04:20:43 primarySNS亚马逊ssm代理。亚马逊ssm代理[898]:404-未找到
8月15日04:20:43 primarySNS亚马逊ssm代理。亚马逊ssm代理[898]:
8月15日04:20:43 primarySNS亚马逊ssm代理。亚马逊ssm代理[898]:
在看了上面的内容之后,现在我觉得我的AWS实例出了问题。但我不确定需要做什么

注意:在我尝试不成功的DB迁移之前,网站已经启动并运行

如果需要更多信息,请帮助并让我知道

谢谢,

卷曲错误消息:

    "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>
“curl:(7)无法连接到schoolnskill.com端口80:连接超时
curl localhost消息:
卷曲本地主机
欢迎来到nginx!
身体{
宽度:35em;
保证金:0自动;
字体系列:Tahoma、Verdana、Arial、无衬线字体;
}
欢迎来到nginx!
如果您看到此页面,则nginx web服务器已成功安装,并且
正在工作。需要进一步配置

有关在线文档和支持,请参阅 .
商业支持可从以下网址获得:

感谢您使用nginx


基于聊天讨论

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


临时解决方案是禁用
ufw
,以启用连接并进一步处理应用程序。

错误显示“未找到EC2实例角色”"? 你是否删除了这个角色?这是一个讽刺。除了重新启动EC2实例,我没有在AWS仪表板上执行任何操作。请问您能建议我怎样办理AWS的登机手续吗?我不太熟悉itUpon fruther reading,这是针对您的SSM代理的实例。默认情况下会安装它。如果你不用它,那就好了。如果您使用ssh连接到实例中,您可以从内部
curl
启动您的网站吗?我按照您所说的“curl schoolnskill.com”做了。但什么也没发生。点击“回车”后,它只会保留在CLI中,甚至不会返回CLI。我必须按住ctrl+c键。一段时间后,我看到连接超时错误。更新了原来的帖子。"