Django部署在nginx上(FastCgi)的一些常见问题
来源:互联网 发布:淘宝商城拍拍网 编辑:程序博客网 时间:2024/05/17 07:33
1.http://localhost/admin被定向到http://localhost/,导致Page not Found(404)错误。
nginx.conf没有配置好,默认的nginx的fastcgi_param中的如下项需要修改
# fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
Django使用的是PATH_INFO,而不是SCRIPT_NAME
2.media下的css,js,image等无法显示的问题
1)把django,admin下的media拷贝出来
cp -r /usr/lib/python2.5/site-packages/django/contrib/admin/media/ /home/my/project/media/
media在Django的安装目录下也有就在/Django-1.0.2-final/django/contrib/admin/media/下
2)修改nginx的配置文件
location ~/media/ {
root /home/my/project/;
break;
}
就可以了,另外,其他静态的文件,都可以通过这个方式来指定路径,因为Django是不处理静态文件的。
3)Django的URL错误
如果还是没有,则需要看nginx的访问日志和错误日志,在logs/access.log和logs/error.log
如下,Access.log中的,证明get的链接不对,应该是/media/css/login.css
127.0.0.1 - - [11/Mar/2009:21:57:08 +0800] "GET /admin/css/login.css HTTP/1.1" 302 5 "http://localhost:8080/admin/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)"
修改setting.py文件,设置如下
ADMIN_MEDIA_PREFIX = '/media/'
如果设为空则请求的URL为:/admin/css/login.css,看http:/的源码如下
<link rel="stylesheet" type="text/css" href="/css/login.css" />
如果设为/media/则URL为:/media/css/login.css,源码如下
<link rel="stylesheet" type="text/css" href="/media/css/login.css" />
4)nginx的映射错误,导致找不到css等文件
另外一个错误是找不到文件,可以查看error.log文件
2009/03/10 23:01:25 [error] 2368#0: *13 open() "/cygdrive/c/nginx/c:/django/project/media/media/css/dashboard.css" failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: "GET /media/css/dashboard.css HTTP/1.1", host: "127.0.0.1:8080", referrer: "http://127.0.0.1:8080/admin/"
则需要看看你的nginx的如下配置是否正确
location ~/media/ {
root /home/my/project/;
break;
}
这个配置,假如你访问的URL是:http://localhost/media/css/login.css,则映射到/home/my/project/media/css/login.css上。
在windows下路径应该是设置为root /cygdrive/c/path;而不是root c:/path;
我在window xp和ubuntu8.04上都成功配置了,nginx和django的组合还是比较方便的。
- Django部署在nginx上(FastCgi)的一些常见问题
- nginx+fastCGI 部署Django
- Nginx+fastcgi 部署Django项目
- Ubuntu上Nginx+Django的部署
- 在Ubuntu上使用Nginx+uwsgi部署django
- 基于nginx和uWSGI在Ubuntu上部署Django
- 基于nginx和uWSGI在Ubuntu上部署Django
- 在AWS上部署Django+MySQL+Nginx+uwsgi
- 基于nginx和uWSGI在centos上部署Django
- 使用 SQLite3, Nginx, Gunicorn 在 Ubuntu 1604 上部署 Django
- 在阿里云ECS上部署 Django+MySQL+uWSGI+Nginx 项目的基本流程
- 安装nginx,flup,django的fastcgi模式
- nginx+fastcgi+django的一次尝试
- Windows下以fastCGI方式部署nginx+django+flup
- linux下nginx+python+fastcgi部署总结(django版)
- [django]用fastcgi部署
- 关于nginx + fastcgi + django
- 关于nginx + fastcgi + django
- tcl8.4.14 AIX5.3 xlc 6编译中的错误解决。
- C#实现一个矩形不断向下延伸完整源程序
- 第一天注册并登录
- analyze使用
- 2009年大学英语四六级机考试点改革解析
- Django部署在nginx上(FastCgi)的一些常见问题
- Windows下利用thunk实现回调成员函数(1)
- 电子商务的框架结构
- Java 菜鸟应该知道的
- 术语与定义教育技术(Educational Technology)
- Hibernate之inverse
- 一位台湾校长震动所有中国人的演讲
- [双语阅读]芭比新娘进军日本成年人市场
- 平季 shoulder season