Я получаю 500 ошибок сервера с моей установкой fastcgi nginx и Django. Кажется, проблема связана с сохранением моделей / записей на сайте администратора. Проблема заключается в том, что пути на перенаправлении кажутся неправильными, и поэтому django не может их обработать, и он падает. Вот мой конфиг nginx:
server {
listen 80;
rewrite ^/(.*) http://www.xxxxxx/$1 permanent;
server_name sxxxxxxx;
}
server {
listen 80;
server_name www.xxxxx
access_log /srv/www/sxxxxxx/logs/nginx_access.log;
error_log /srv/www/sxxxxxxx/logs/nginx_error.log;
location /media {
root /srv/www/sxxxxx/public_html/section9/static/;
}
location / {
root /srv/www/sxxxxxx/public_html/section9;
fastcgi_pass unix:/tmp/section9.sock;
#include fastcgi.conf;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param REMOTE_USER $remote_user;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_SOFTWARE "nginx";
fastcgi_param GATEWAY_INTERFACE "CGI/1.1";
fastcgi_param UID_SET $uid_set;
fastcgi_param UID_GOT $uid_got;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}
}
А вот и сообщение об ошибке:
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.6/django/core/handlers/base.py", line 92, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/pymodules/python2.6/django/contrib/admin/options.py", line 252, in wrapper
return self.admin_site.admin_view(view)(*args, **kwargs)
File "/usr/lib/pymodules/python2.6/django/views/decorators/cache.py", line 44, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/usr/lib/pymodules/python2.6/django/contrib/admin/sites.py", line 186, in inner
return view(request, *args, **kwargs)
File "/usr/lib/pymodules/python2.6/django/db/transaction.py", line 240, in _commit_on_success
res = func(*args, **kw)
File "/usr/lib/pymodules/python2.6/django/contrib/admin/options.py", line 819, in change_view
obj = self.queryset(request).get(pk=unquote(object_id))
File "/usr/lib/pymodules/python2.6/django/db/models/query.py", line 299, in get
clone = self.filter(*args, **kwargs)
File "/usr/lib/pymodules/python2.6/django/db/models/query.py", line 498, in filter
return self._filter_or_exclude(False, *args, **kwargs)
File "/usr/lib/pymodules/python2.6/django/db/models/query.py", line 516, in _filter_or_exclude
clone.query.add_q(Q(*args, **kwargs))
File "/usr/lib/pymodules/python2.6/django/db/models/sql/query.py", line 1675, in add_q
can_reuse=used_aliases)
File "/usr/lib/pymodules/python2.6/django/db/models/sql/query.py", line 1614, in add_filter
connector)
File "/usr/lib/pymodules/python2.6/django/db/models/sql/where.py", line 56, in add
obj, params = obj.process(lookup_type, value)
File "/usr/lib/pymodules/python2.6/django/db/models/sql/where.py", line 269, in process
params = self.field.get_db_prep_lookup(lookup_type, value)
File "/usr/lib/pymodules/python2.6/django/db/models/fields/__init__.py", line 210, in get_db_prep_lookup
return [self.get_db_prep_value(value)]
File "/usr/lib/pymodules/python2.6/django/db/models/fields/__init__.py", line 361, in get_db_prep_value
return int(value)
ValueError: invalid literal for int() with base 10: '31/favicon.ico'
<WSGIRequest
GET:<QueryDict: {}>,
POST:<QueryDict: {}>,
META:{'CONTENT_LENGTH': '',
'CONTENT_TYPE': '',
'HTTP_ACCEPT': '*/*',
'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch',
'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8',
'HTTP_CONNECTION': 'keep-alive',
'HTTP_HOST': 'www.xxxxx',
'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1',
'PATH_INFO': u'/admin/portfolio/portfolioentry/31/favicon.ico/',
'QUERY_STRING': '',
'REQUEST_METHOD': 'GET',
'SCRIPT_NAME': u'',
'SERVER_NAME': 'localhost',
'SERVER_PORT': '80',
'SERVER_PROTOCOL': 'HTTP/1.0',
'wsgi.errors': <flup.server.fcgi_base.TeeOutputStream object at 0xa779e6c>,
'wsgi.input': <flup.server.fcgi_base.InputStream object at 0xa779c6c>,
- Hide quoted text -
'wsgi.multiprocess': True,
'wsgi.multithread': False,
'wsgi.run_once': False,
'wsgi.url_scheme': 'http',
'wsgi.version': (1, 0)}>
Так что, похоже, у меня проблемы со СМИ. Кажется, что все JS и CSS добавлены к существующему URL, что говорит о том, что {{MEDIA_URL}} или любая другая директива, которую использует сайт администратора, не работает в этом довольно странном случае.
Я хотел бы отметить, что это происходит на модели с плагином tinymce, а не на других сайтах того же сайта
'PATH_INFO': u '/ admin / портфель / Портфолио / 31 / favicon.ico /',
Очевидно, что вышесказанное неверно. Я не уверен, почему это произошло недавно. Возможно, из-за обновления или подобного.
Буду признателен за любые другие предложения. Я думал, может быть, что-то делать с реферером, но, вероятно, нет.