谢谢各位,已经解决,原来是邮件服务阻塞了主线程,放到多线程就好了。
用 django 在搬瓦工 vps 上部署了一个简单的博客,但是评论后页面跳转很慢,慢到 nginx 返回 502,但是在本地服务器上是没有问题。
所以现在的情况是,本地测试没有问题。线上发表评论后页面重定向很慢,慢到超出 nginx 的等待时间(但偶尔也或有成功的跳转),但评论已经保存在了数据库,手动刷新页面可以看到。
现在的问题是我甚至不知道问题出在哪,不知道如何 debug。
先贴一些我认为相关的代码,请大家帮我分析一下是哪里的原因,或者指点我一条 debug 的思路。
nginx 配置文件:
server {
charset utf-8;
listen 80;
server_name zmrenwu.com www.zmrenwu.com;
location /static {
alias /home/yangxg/sites/zmrenwu.com/django-blog-zm/static;
}
location /media {
alias /home/yangxg/sites/zmrenwu.com/django-blog-zm/media;
}
location / {
proxy_set_header Host $host;
proxy_pass http://unix:/tmp/zmrenwu.com.socket;
}
}
django 后台评论成功后的跳转视图:
class CommentSuccess(RedirectView):
def get_redirect_url(self, *args, **kwargs):
self.url = self.comment.get_absolute_url()
return super(CommentSuccess, self).get_redirect_url(*args, **kwargs)
def get(self, request, *args, **kwargs):
self.comment = None
if 'c' in request.GET:
try:
self.comment = comments.get_model().objects.get(
pk=request.GET['c'])
except (ObjectDoesNotExist, ValueError):
pass
if self.comment and self.comment.is_public:
return super(CommentSuccess, self).get(request, *args, **kwargs)
跳转视图没做什么事,只不过单纯地来了请求就重定向而已。
添加回答
举报
0/150
提交
取消