nginx+uwsgi+django, как настроить 404.html и 502.html

Я закрываю режим отладки и вижу ошибку 502 по умолчанию при посещении не существующей страницы.

Я поместил 404.html, 403.html, 502.html в свой проект, но я все еще не вижу эти страницы, проект работает все хорошо, кроме этой части, что я должен настроить для этой проблемы?

Моя конфигурация ниже:

server{
listen 80;
server_name 119.254.35.221;
location /{
uwsgi_pass 127.0.0.1:8000;
include uwsgi_params;
uwsgi_param UWSGI_SCRIPT www.wsgi;
uwsgi_param UWSGI_CHDIR /root/www;
uwsgi_param UWSGI_PYHOME /root/www;
uwsgi_param SCRIPT_NAME "";
}
}

Дерево проекта:

[root@vps616 www]# pwd
/root/www
[root@vps616 www]# ll
total 1036
drwxr-xr-x 2 root root    4096 Sep 28 11:05 books
-rwxr-xr-x 1 root root     246 Sep 27 13:29 manage.py
-rw------- 1 root root    6228 Sep 28 09:56 nohup.out
-rwxr-xr-x 1 root root      41 Sep 27 23:54 restart.sh
-rwxr-xr-x 1 root root      53 Sep 28 16:51 start.sh
drwxr-xr-x 2 root root    4096 Sep 28 20:18 static
-rw-rw-rw- 1 root root     217 Sep 28 14:05 uwsgi.ini
-rw-r--r-- 1 root root     272 Sep 27 23:16 uwsgi.xml.backup
drwxr-xr-x 3 root root    4096 Sep 28 20:27 www
-rw-r----- 1 root root 1009290 Sep 28 20:25 www.log
-rw-rw-rw- 1 root root       6 Sep 28 16:48 www.pid
[root@vps616 www]# ll www
total 48
-rw-r--r-- 1 root root    0 Sep 28 20:27 403.html
-rw-r--r-- 1 root root    0 Sep 28 20:18 404.html
-rw-r--r-- 1 root root  227 Sep 28 17:01 forms.py
-rw-r--r-- 1 root root    0 Sep 27 13:29 __init__.py
-rw-r--r-- 1 root root  112 Sep 28 08:46 __init__.pyc
-rw-r--r-- 1 root root 5247 Sep 28 20:20 settings.py
-rw-r--r-- 1 root root 2924 Sep 28 20:20 settings.pyc
drwxr-xr-x 2 root root 4096 Sep 28 17:04 templates
-rw-r--r-- 1 root root  630 Sep 28 16:47 urls.py
-rw-r--r-- 1 root root  641 Sep 28 11:03 urls.pyc
-rw-r--r-- 1 root root  625 Sep 28 17:22 views.py
-rw-r--r-- 1 root root  871 Sep 28 11:03 views.pyc
-rw-r--r-- 1 root root 1126 Sep 28 12:32 wsgi.py
-rw-r--r-- 1 root root 1000 Sep 28 12:32 wsgi.pyc
[root@vps616 www]# 

Конфиг uwsgi:

[root@vps616 www]# cat uwsgi.ini 
[uwsgi]  
uid = 500
listen=200
master = true  
profiler = true 
processes = 8 
logdate = true  
pidfile = /root/www/www.pid  
daemonize = /root/www/www.log  
enable-threads = true
memory-report = true
limit-as = 6048

команда запуска:

uwsgi --ini uwsgi.ini -s 127.0.0.1:8000

большое спасибо.


person liangdong from baidu    schedule 28.09.2012    source источник
comment
Что именно вы хотите показать?   -  person Pratik Mandrekar    schedule 28.09.2012


Ответы (1)


Попробуйте переместить файлы 404.html и т. д. в каталог шаблона (где у вас есть файл base_site.html, если он у вас есть)

person abidibo    schedule 28.09.2012
comment
другой вопрос: как настроить nginx для отображения статических файлов в /root/www/static, большое спасибо, жду здесь.. - person liangdong from baidu; 28.09.2012
comment
Приведи пример, почему ты должен показывать статические файлы? Какие статические файлы? статический каталог в проектах django обычно содержит статические ресурсы, такие как css, javascript, изображения... Я использую это внутри серверной части конфигурации nginx: location /static { root /abs/path/to/the/web/root/; истекает макс.; } важной частью является корень ...., и, очевидно, все мои статические файлы собраны в статическом каталоге, который находится точно в корневом каталоге сайта. - person abidibo; 28.09.2012
comment
Я также помещал статические файлы в сам nginx, конфигурация такая, но я обнаружил, что http-запрос идет к uwsgi, а не к самому nginx, какие ошибки я сделал? спасибо ..сервер{ слушай 80; имя_сервера 119.254.35.221; расположение ^~ /static { root /root/www; } местоположение /{ uwsgi_pass 127.0.0.1:8000; включить uwsgi_params; uwsgi_param UWSGI_SCRIPT www.wsgi; uwsgi_param UWSGI_CHDIR /root/www; uwsgi_param UWSGI_PYHOME /root/www; uwsgi_param SCRIPT_NAME ; } } - person liangdong from baidu; 28.09.2012
comment
и журнал доступа nginx: 2012/09/28 21:32:23 [ошибка] 19969#0: *24 open() /root/www/static/aa.html не удалось, uri правильный, но он идет к местоположение /, а не /static/xxx - person liangdong from baidu; 28.09.2012
comment
это часть конфигурации виртуального хоста, которую я использовал: pastebin.com/hwpDj50B Вы используете это (расположение ^~ / static), попробуйте использовать только location /static... - person abidibo; 28.09.2012
comment
Я пытался использовать localtion / static, все еще не работает... Я следую вашей настройке, добавляя root в оба местоположения, но это все еще не работает. Странная проблема, почему всегда на uwsgi... любые другие возможности.. - person liangdong from baidu; 28.09.2012
comment
теперь это работает? если не используйте pastebin и прикрепите полную конфигурацию виртуального хоста и структуру папок вашего проекта - person abidibo; 28.09.2012