`
iyuan
  • 浏览: 469466 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Django和Nginx的接合问题(转)

阅读更多
转载自:http://j-lite.net/blog/2009/11/24/django-and-nginx

昨日在单位却碰到了问题——URL总是出问题……具体的情况是无论输入什么URL,Django都会报404。可是事实上使用Django自带的runserver和werkzeug都是没有问题的,直接跑shell下resolve也是解析得欢得很,问题很诡异。

苦苦纠结良久未果,只好向同事请教。还是同事有经验,很快就指出了问题所在。原来是项目的设置出了问题,settings.py里有一个FORCE_SCRIPT_NAME的字段需要设置为空字符,以此来覆盖掉nginx传递请求给django时传过来的脚本名称。试了一下,果然OK了。

问题是解决了,可是总觉得有点奇怪,因为我记得很清楚,J-Lite并没有复写这个参数,怎么就碰不到这个问题呢?重新翻开vps上的nginx.conf才发现,原来自己上次配置是fasgcgi的参数并不是用include fastcgi_params这样的方式引用缺省参数表,而是在server段直接定义的。再继续挖掘,在fastcgi_params中找到了这么一条代码:

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;

这应该就是Nginx传递脚本名称的设置了。果然,在删掉这段之后,即便不定义FORCE_SCRIPT_NAME,之前的问题也不会出现了。

由于问题比较诡异,所以立马写下来做个笔记,免得又给忘了这事。

备注:

django 的setting 在用 fsgi 并连 nginx时比较麻烦,用os.path做绝对路径比较靠谱
分享到:
评论

相关推荐

    django的nginx.conf配置文件

    django项目上线时完整的nginx.conf文件,直接覆盖上去,修改域名和项目路径就OK了,直接拿走就好,详细部署上线流程我的博客里油介绍

    Nginx+Uwsgi+Django+Vue部署

    Nginx+Uwsgi+Django(python3)+Vue部署,一步步实现。网上找了N多篇文章都没成功,特意记录,以免其他同学踩坑

    腾讯云部署Django+Nginx+uWSGI+SimpleUI.解决 .svg文件不能显示问题

    我们将使用Django、Nginx、uWSGI和SimpleUI这些技术,并且会详细解释每个组件的作用以及配置过程。 首先,Django是一个Python开发的高级Web框架,用于构建高效、可扩展的Web应用。而uWSGI是一个高性能的应用服务器...

    基于Django和Nginx的懒人式七层负载均衡器设计源码

    该项目是一款基于Django和Nginx的七层负载均衡器设计...该项目由非专业开发者发起,旨在为朋友解决成本高昂且操作复杂的商业负载均衡器问题,同时结合Django框架和Nginx构建,旨在提供一个既美观又实用的开源解决方案。

    django+nginx+linux部署

    在部署Django项目时,通常需要结合Nginx和uWSGI来搭建一个完整的生产环境。本知识点将详细解释如何在Ubuntu和CentOS系统下,通过Django框架结合MySQL数据库进行配置部署,同时使用Nginx作为Web服务器,并通过uWSGI...

    django部署配置以及nginx配置

    本教程将聚焦于Django项目在生产环境中的部署配置,主要涉及Nginx和uWSGI这两个重要的组件。让我们逐步深入理解这些知识点。 首先,Django是一个高级的Python Web框架,它鼓励快速开发和干净、实用的设计。然而,...

    Django+Nginx+Redis开发网上商城.zip

    在本文中,我们将深入探讨如何使用Django、Nginx和Redis这三种技术来构建一个高效、可扩展的网上商城。Django是一个强大的Python Web框架,它提供了丰富的功能,包括数据库建模、用户认证和权限管理等。Nginx则是一...

    Ubuntu系统搭建django+nginx+uwsgi的教程详解

    主要介绍了Ubuntu系统搭建django+nginx+uwsgi的思路详解,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下

    docker-django-nginx-uwsgi-postgres-tutorial-master

    docker-django-nginx-uwsgi-postgres-tutorial-master

    docker-django-nginx-uwsgi-centos7

    一个带有少量 shell 脚本的 dockerfile 来运行一个空的 Django 项目,结合了基于 Centos 7.x 的容器中的 Nginx、uWsgi 和 sqlite3 工具。 用法 要创建镜像docker-django-nginx-uwsgi-centos7/django ,请在docker-...

    五步教你实现使用Nginx+uWSGI+Django方法部署Django程序1

    五步教你实现使用Nginx+uWSGI+Django方法部署...本文主要介绍了使用Nginx+uWSGI+Django方法部署Django程序的五个步骤,包括环境介绍、安装uwsgi、测试uwsgi、配置Django和连接Django和uwsgi,实现简单的WEB服务器。

    Ubuntu12.04 nginx python uwsgi Django安装步骤

    Ubuntu 12.04 下安装 Nginx、Python、uWSGI 和 Django 的步骤 在本文中,我们将介绍如何在 Ubuntu 12.04 环境下安装 Nginx、Python、uWSGI 和 Django。这些技术栈组合是非常流行的 Web 应用程序开发环境。 一、...

    linux+nginx+django+cronjob部署教程

    linux+nginx+django+cronjob部署教程 提供了部署所需要的安装包,安装包的安装及部署过程

    Django+nginx+uwsgi在linux系统上配置文件

    在构建高性能的Web应用时,Django作为Python的主流Web框架,经常与Nginx和uWSGI结合使用。Nginx是一个强大的反向代理服务器,用于处理静态资源和HTTP请求分发,而uWSGI则是一个应用服务器,能够高效地运行Django应用...

    用uwsgi+daphne+Nginx+supervisor部署Django项目.docx

    ### 使用uwsgi+daphne+Nginx+supervisor部署Django项目的详细步骤 #### 一、概述 在本文档中,我们将详细介绍如何在Linux环境下利用uwsgi、daphne、Nginx以及supervisor来部署Django项目。这种方式能够有效地提高...

    tornado+django+nginx+mysql搭建网站.zip

    tornado+django+nginx+mysql搭建网站.zip

    Ubuntu系统Daphne + Nginx部署Python Django项目精讲【含代码说明】

    在本教程中,我们将深入探讨如何在Ubuntu系统上使用Daphne和Nginx部署Python Django项目,同时利用Supervisor进行进程管理。首先,Django 3.0开始支持ASGI(Asynchronous Server Gateway Interface)应用程序,使得...

    Django+Nginx+UWSGI+virtualenv项目部署

    通过上述步骤,我们成功地在服务器上部署了一个基于Django的Web应用,并配置了Nginx和uWSGI作为前端和后端服务器。这种部署方式不仅可以提高应用的性能和稳定性,还能增强系统的安全性。此外,通过使用virtualenv来...

    centos+nginx+mysql+django+uwsgi+python

    本文详细介绍了如何在CentOS上安装Django Web框架及其相关组件的过程,包括Python环境的搭建、Django的安装与测试、uWSGI和Nginx的安装配置等步骤。通过以上步骤,可以在CentOS服务器上构建出一个完整的Web应用环境...

Global site tag (gtag.js) - Google Analytics