Urls.py 未在使用 nginx 和 gunicorn 的 Django 生产服务器上更新

Urls.py 未在使用 nginx 和 gunicorn 的 Django 生产服务器上更新

我目前在 AWS EC2 实例上托管一个 Django Webapp,为了在生产模式下运行它,我使用 NGINX 和 gunicorn。

错误我面临的是:

无论我做什么,生产服务器似乎都不会更新 urls.py

用于将文件从本地文件传输到实例的应用程序档案

我为解决该问题已采取的步骤:

  1. 删除 urls.py 并重写

  2. 检查其他文件是否也拒绝更新

    第二步的结果:其他文件已成功更新,我已使用静态文件和 index.html 进行了测试

  3. 使用以下命令检查实例中的文件是否已更新纳米编辑

    第三步的结果:文件在实例中正确更新,所有更改均已反映出来

  4. 使用实例运行它python manage.py runserver(出于开发目的),并发现使用 runserver 时 urls.py 正在正确更新

其他信息:

1.昨天一切都刚刚更新完毕,但它突然决定叛变

  1. 我已经使用更新了所有软件包sudo yum install

  2. 我已经重新启动了 nginx 和 gunicorn:使用以下命令:

    sudo systemctl start gunicorn

    sudo systemctl enable gunicorn

    sudo systemctl restart nginx

  3. 我尝试使用检查错误sudo nginx -t,但没有显示任何错误

  4. 我已经使用检查了错误日志sudo tail -f /var/log/nginx/error.log,但
    这里也没有显示任何错误

我该如何解决这个问题?

谢谢

答案1

好的,我找到了解决方案。

解决该问题所采取的步骤:

  1. 我尝试在我的实例上使用python3 manage.py runserver,发现文件已更新,因此问题出在生产方面

  2. 我发现只有静态文件和 html 文件被更新(nginx 提供这些文件),所以问题不在于此

  3. 我使用 gunicorn 来帮助处理 views.py 和 urls.py 以及其他类似的文件,所以问题可能出在 gunicorn 上

最终解决方案:

所以我运行了命令sudo systemctl restart gunicorn,代码运行得很好

相关内容