I am new to Michal Karzinsky's django shooting tutorial. I am using Django 1.7.4 on Ubuntu 14 and my setup for shooting script is as follows
#!/bin/bash NAME="mytestapp" # Name of the application DJANGODIR=/var/www/testapp/src # Django project directory SOCKFILE=/var/www/testapp/run/gunicorn.sock # we will communicte using this unix socket USER=ubuntu # the user to run as GROUP=ubuntu # the group to run as NUM_WORKERS=3 # how many worker processes should Gunicorn spawn DJANGO_SETTINGS_MODULE=testapp.settings # which settings file should Django use DJANGO_WSGI_MODULE=testapp.wsgi # WSGI module name echo "Starting $NAME as `whoami`" # Activate the virtual environment cd $DJANGODIR export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE export PYTHONPATH=$DJANGODIR:$PYTHONPATH # Create the run directory if it doesn't exist RUNDIR=$(dirname $SOCKFILE) test -d $RUNDIR || mkdir -p $RUNDIR # Start your Django Unicorn # Programs meant to be run under supervisor should not daemonize themselves (do not use --daemon) exec gunicorn ${DJANGO_WSGI_MODULE}:application \ --name $NAME \ --workers $NUM_WORKERS \ --user=$USER --group=$GROUP \ --bind=0.0.0.0:8000 \ --log-level=debug \ --log-file=-
When I change the binding setting to unix: $ SOCKFILE, my script is still working, but I cannot connect to my browser. In this question, I read that it is not wise to deploy 0.0.0.0:8000 on a production server.
I am a little versed in unix sockets, but I donβt know how I can use the unix socket file to serve my site. I tried to edit the socket file as root, but the OS does not allow me to open it.
How to configure a socket file so that I can serve my pages?
PS: Here is my nginx configuration file
upstream hello_app_server { # fail_timeout=0 means we always retry an upstream even if it failed # to return a good HTTP response (in case the Unicorn master nukes a # single worker for timing out). server 127.0.0.1:8000 fail_timeout=0; } server { listen 80; server_name test.com; client_max_body_size 4G; access_log /var/www/testapp/src/logs/nginx-access.log; error_log /var/www/testapp/src/logs/nginx-error.log; location /static/ { alias /var/www/testapp/src/static/static_dirs/; } location /media/ { alias /var/www/testapp/src/static/media/; } location / { # an HTTP header important enough to have its own Wikipedia entry: # http:
unix django nginx sockets gunicorn
user1801060
source share