django - 使用 nginx 为 django 网站提供服务时,如何修复“未在此服务器上找到请求的资源。”?
问题描述
我已经托管了我www.gojainyatra.com
用 django 制作的网站,使用 nginx 提供服务。虽然有些页面可以正确打开,但有些页面会出现错误,例如
https://www.gojainyatra.com/dharamshala/firstshala/vlogs/2019/6/20/5/9/46/test/
未找到 在此服务器上未找到请求的资源
我的 nginx 配置:
upstream app_server {
server unix:/home/gojainyatra/run/gunicorn.sock fail_timeout=0;
}
server {
listen 80;
server_name gojainyatra.com www.gojainyatra.com;
keepalive_timeout 5;
client_max_body_size 4G;
access_log /home/gojainyatra/logs/nginx-access.log;
error_log /home/gojainyatra/logs/nginx-error.log;
location /static/ {
alias /home/gojainyatra/staticfiles/;
}
# checks for static file, if not found proxy to app
location / {
try_files $uri @proxy_to_app;
}
location @proxy_to_app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app_server;
}
}
我的 urls.py 的一部分
urlpatterns = [
path('dharamshala/<slug:slug>/',views.shala_info,name='shala_info'),
path('dharamshala/<slug:slug>/vlogs/',views.shala_vlogs_list,name='shala_vlogs_list'),
path('dharamshala/<slug:slug>/vlogs/<year>/<month>/<day>/<hour>/<minute>/<second>/<username>/',views.shala_vlog_descp,name='shala_vlog_descp'),
]
我的views.py的一部分(函数 shala_vlog_descp 应该为出现未找到错误的页面提供服务,它在开发环境中工作正常)
def shala_info(request,slug):
shala = get_object_or_404(Shala,name_without_space=slug)
return render(request,'shala_info.html',{'shala':shala})
def shala_vlog_descp(request,slug,year,month,day,hour,minute,second,username):
shala = get_object_or_404(Shala,name_without_space=slug)
my_vlog = get_object_or_404(vlog, dharamshala__name_without_space=slug,
last_updated__year=year,last_updated__month=month,last_updated__day=day,
last_updated__hour=hour,last_updated__minute=minute,
last_updated__second=second ,writer__username=username)
return render(request,'shala_vlog_descp.html',
{'shala':shala,'vlog':my_vlog})
def shala_vlogs_list(request,slug):
shala = get_object_or_404(Shala,name_without_space=slug)
return render(request,'shala_vlogs_list.html',{'shala':shala})
所有页面都在开发环境中正确提供,但在生产环境中没有。请帮忙。
解决方案
推荐阅读
- c# - ASP.NET 如何在模式弹出 Bootstrap 4 上使用按钮而不关闭或刷新弹出窗口
- javascript - 如何检查本机反应是否为空?
- python - 根据多个条件为python中数据框中的行创建父ID
- c# - C# Cosmos 文件系统错误“未找到分区!”
- ansible - Ansible:执行shell脚本
- python - 如何使用 python 中的 treelib 库在树中插入节点?
- for-loop - for循环中的元组解构?
- javascript - 如何在 JavaScript 中修复“未捕获的类型错误:月份为空”
- angular - 在父路由器出口渲染子路由
- node.js - Node.js 应用程序不会连接到 MongoDB 服务器