1. Install Python
    $ apt-get install zlibc zlib1g-dev libxml2 libxml2-dev libbz2-dev curl build-essential python
    $ curl -kL http://github.com/utahta/pythonbrew/raw/master/pythonbrew-install | bash
    $ echo 'source ~/.pythonbrew/etc/bashrc' >> ~/.bashrc
    $ pythonbrew install --force --no-test 2.7.2
    $ pythonbrew switch 2.7.2
    
  2. Install Django, uWSGI
    $ pip install django psycopg2 uwsgi
    
  3. Create Project
    $ mkdir -p /opt/project
    $ cd /opt/project
    $ django-admin.py startproject sample_project
    $ cd sample_project
    $ mkdir media
    
  4. /opt/project/sample_project 에 django0.ini를 만든다.
    [uwsgi]
    socket = 127.0.0.1:8000
    chdir = /opt/project/sample_project
    pythonpath = /opt/project
    env = DJANGO_SETTINGS_MODULE=sample_project.settings
    module = django.core.handlers.wsgi:WSGIHandler()
    master = true
    processes = 4
    daemonize = /opt/project/sample_project/uwsgi0.log
    pidfile = /opt/project/sample_project/uwsgi0.pid
    
  5. /opt/project/sample_project 에 django1.ini를 만든다.
    [uwsgi]
    socket = 127.0.0.1:8001
    chdir = /opt/project/sample_project
    pythonpath = /opt/project
    env = DJANGO_SETTINGS_MODULE=sample_project.settings
    module = django.core.handlers.wsgi:WSGIHandler()
    master = true
    processes = 4
    daemonize = /opt/project/sample_project/uwsgi1.log
    pidfile = /opt/project/sample_project/uwsgi1.pid
    
  6. uwsgi 실행
    $ uwsgi django0.ini
    $ uwsgi django1.ini
    
  7. Install NginX
    $ aptitude install nginx
    
  8. Configure NginX
    $ cd /etc/nginx/sites-available
    $ vi django
    
    upstream sample_project {
        ip_hash;
        server 127.0.0.1:8000;
        server 127.0.0.1:8001;
    }
    
    server {
        listen 80;
        server_name mydomain.com;
        
        location /site_media  {
            root /opt/project/sample_project/media/;
        }
    
        location / {
            include uwsgi_params;
            uwsgi_pass sample_project;
        }
    }
    
    $ cd /etc/nginx/sites-enabled
    $ ln -s /etc/nginx/sites-available/django django
    
  9. Run NginX
    $ /etc/init.d/nginx restart
    

+ Recent posts