【发布时间】:2016-10-08 23:16:01
【问题描述】:
我已经根据文档http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html 配置了我的 nginx 网络服务器 所以现在,我从我的 github 帐户中提取了最新的代码并重新启动了我的服务器,但它没有显示最新的更改。 我使用 Ubuntu 作为我的操作系统
我希望它显示最新的代码更改。
重要信息: /usr/local/bin/uwsgi --emperor /etc/uwsgi/vassals
我使用这个命令来运行我的服务器
在 cmets 中执行了下面提到的所有这些步骤后,没有任何反应。它不与最新的更改一起运行。我缺少什么让我的网站使用我从我的 github 帐户拉到我的服务器上的最新代码运行。
【问题讨论】:
-
如果你说的是 nginx 服务器,请确保重启 uwsgi 进程。
-
虽然可能有更好的方法,但对于要更新静态文件之类的东西,我总是用
sudo reboot now重新启动我的服务器,然后所有更改都应该在服务器恢复时生效。这对我个人来说是唯一可靠的方法。 -
@elethan 您不必重新启动整个服务器(这实际上是一种不好的做法)。相反,使用
python manage.py collectstatic更新静态文件,然后重新启动您的 WSGI(uWSGI、Gunicorn 或您正在使用的任何东西),一切都会好起来的。如果有缓存,请务必清除缓存。 -
@KeenanLawrence 谢谢,下次我会试试这个,但过去有几次运行
collectstatic,重新启动nginx,重新启动gunicorn是不够的。此外,是什么让重新启动服务器成为一种不好的做法(我认为是这样,但我想知道原因 - 除了您的网站将关闭几秒钟这一显而易见的事实。) -
我明白了...当我第一次开始时,我也遇到了问题,然后我记得我有 Django 压缩静态文件,所以我必须在
collectstatic之后运行python manage.py compress --force然后重新启动gunicorn。是的,差不多就是这个原因。特别是如果它是一个具有电子商务的大容量网站。不仅如此,如果您从同一服务器运行其他应用程序(例如需要启动的流媒体或 API),那就不好了。如果您只有自己的网站,并且正常运行时间不是问题,那么我认为这是可以接受的。