Nginx + Gunicorn problem
zefoo opened this issue · comments
I'm coming off 4 hours of troubleshooting an issue that seems very strange.
Here is my nginx config:
upstream mysite_staging {
server unix:/home/www/mysite.com/mysite_staging/mysite-live.sock fail_timeout=0;
}
server {
listen 80;
server_name mysite-staging.com;
client_max_body_size 10M;
keepalive_timeout 15;
allow all;
root /home/www/mysite.com;
access_log /var/log/nginx/mysite-staging.log combined;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_pass http://mysite_staging;
}
location /static/ {
alias /home/www/mysite.com/mysite_staging/static/;
access_log off;
log_not_found off;
gzip on;
gzip_min_length 1100;
gzip_buffers 4 32k;
gzip_types text/plain application/x-javascript text/xml text/css;
gzip_vary on;
expires 30d;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
if ($redir) {
return 301 $redir;
}
}
Here is my gunicorn init script:
description "Gunicorn application server running mysite website"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
setuid matt
setgid www-data
env PATH=/home/www/mysite.com/venv/bin
chdir /home/www/mysite.com/mysite_staging
exec gunicorn --workers 1 --log-level=debug --bind unix: mysite-live.sock mysite.wsgi:application
The problem is with django-request in the installed apps and in middleware, it throws a 500 error.
I see this:
Request Method: | GET
-- | --
http://mysite-staging.com/
1.10.4
DataError
invalid input syntax for type inet: "b''" LINE 1: ...6:48:38.194955+00:00'::timestamptz, false, false, 'b'''''::i... ^
I guess my question is... can someone make sense of this? If I run python manage.py runserver.... it works fine. Something with the nginx + gunicorn set up seems to be causing an issue.
Here's the full stack trace:
Environment:
Request Method: GET
Request URL: http://mysite.com/
Django Version: 1.10.4
Python Version: 3.5.1
Installed Applications:
('mezzanine.boot',
mysite_theme',
'anymail',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.redirects',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.sitemaps',
'mezzanine.conf',
'mezzanine.core',
'mezzanine.generic',
'mezzanine.pages',
'mezzanine.blog',
'mezzanine.forms',
'mezzanine.galleries',
'mezzanine.twitter',
'mysite',
'request',
'compressor',
'filebrowser_safe',
'grappelli_safe',
'django.contrib.admin',
'django.contrib.staticfiles',
'django_comments')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'mezzanine.core.request.CurrentRequestMiddleware',
'mezzanine.core.middleware.RedirectFallbackMiddleware',
'mezzanine.core.middleware.TemplateForDeviceMiddleware',
'mezzanine.core.middleware.TemplateForHostMiddleware',
'mezzanine.core.middleware.AdminLoginInterfaceSelectorMiddleware',
'mezzanine.core.middleware.SitePermissionMiddleware',
'mezzanine.pages.middleware.PageMiddleware',
'request.middleware.RequestMiddleware')
Traceback:
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
64. return self.cursor.execute(sql, params)
The above exception (invalid input syntax for type inet: "b''"
LINE 1: ...6:27:01.547331+00:00'::timestamptz, false, false, 'b'''''::i...
^
) was the direct cause of the following exception:
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in get_response
131. response = middleware_method(request, response)
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/request/middleware.py" in process_response
41. r.from_http_request(request, response)
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/request/models.py" in from_http_request
85. self.save()
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/request/models.py" in save
123. super(Request, self).save(*args, **kwargs)
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/django/db/models/base.py" in save
796. force_update=force_update, update_fields=update_fields)
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/django/db/models/base.py" in save_base
824. updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/django/db/models/base.py" in _save_table
908. result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/django/db/models/base.py" in _do_insert
947. using=using, raw=raw)
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/django/db/models/manager.py" in manager_method
85. return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/django/db/models/query.py" in _insert
1045. return query.get_compiler(using=using).execute_sql(return_id)
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in execute_sql
1054. cursor.execute(sql, params)
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
79. return super(CursorDebugWrapper, self).execute(sql, params)
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
64. return self.cursor.execute(sql, params)
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/django/db/utils.py" in __exit__
94. six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/django/utils/six.py" in reraise
685. raise value.with_traceback(tb)
File "/home/www/mysite.com/venv/lib/python3.5/site-packages/django/db/backends/utils.py" in execute
64. return self.cursor.execute(sql, params)
Exception Type: DataError at /
Exception Value: invalid input syntax for type inet: "b''"
LINE 1: ...6:27:01.547331+00:00'::timestamptz, false, false, 'b'''''::i...
^