nginx+django+gunicorn

그동안 Django로 포럼을 개발하고 코코아 개발자 커뮤니티를 만들려고 했습니다.요 며칠 동안 어떻게 배치하는지 배우고 있는데 마침 얼마 전에 UCloud가 3개월 동안 호스트를 보냈기 때문에 연습할 수 있다.VPS용 64비트 Ubuntu 12.04는 이틀을 고생한 끝에 겨우 통했다. 서둘러 기록하자...

apt-get


서버가 손에 넣은 첫 번째 일은 apt-get을 업데이트하는 것이다. 원본을 바꾸든지 스스로 한 무더기를 검색하는 것이다.그동안 시스템이 부주의로 Ubuntu 10.04로 선택되어 많은 문제에 부딪혔다가 12.04로 바뀌어 순조롭게 진행되었다.
apt-get update

pip


pip는 역시 원본을 바꾸는 것을 권장합니다. 속도는 날아다니는 느낌입니다.구체적인 방법은 내가 전에 소개한 그 문장을 볼 수 있다.
sudo apt-get install python-pip

Django


Django는 말할 것도 없이 pip으로 포장할 거예요. 저는 보통 최신 버전을 사용합니다. 이렇게 하면 됩니다.
sudo pip install django

Nginx


우선 기본 Nginx 구성에 할당하는 것이 좋습니다.디렉토리 위치/etc/nginx/sites-available/default
cp /etc/nginx/sites-available/default default.bak

그리고 Vim 편집
vim /etc/nginx/sites-available/default
server {
        listen   80;

        server_name www.isaced.com;
        access_log  /var/log/nginx/isaced.log;

        location / {
                proxy_pass http://127.0.0.1:8000;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location /static/ {
                root /data/isaced; #Django 
        }

이상은 가장 간단한 Nginx 설정입니다. 뛸 수 있도록 하기 위해서입니다. 더 많은 자세한 설정은 다른 글을 참조하십시오.

Gunicorn


Gunicorn은 친구(CloverStd)가 추천하는 Python WSGI UNIX의 HTTP 서버입니다. Github 창고 주소가 여기에 있습니다. 전설은 속도가 빠르고 실행이 빠르며 간단합니다. 기본은 동기화 작업입니다. Gevent, Eventlet 비동기화, Tornado 지원입니다. 관측은 상세한 문서를 참고할 수 있습니다.
당신의 Django 프로젝트의 설정이 필요합니다.py 중 INSTALLED_APPS 가입: gunicorn
gunicorn --worker-class=gevent isaced.wsgi:application
  • --worker-class는 작업 방식을 지정합니다. 여기서 제가 사용하는gevent는 You need gevent installed to use this worker 프롬프트를 표시하면 gevent를 설치하지 않았습니다.
  • isaced.wsgi:application 이것은 당신의 프로젝트 이름을 가리키며, Django에서 프로젝트를 만들 때 해당 이름 폴더에 wsgi를 자동으로 생성합니다.py, 여기가 바로 그것을 가리킨다.

  • ###nohupnohup은 Linux 명령으로 명령을 끊지 않고 실행합니다.gunicorn 프로세스가 끊기지 않도록 gunicorn을 실행합니다.
    nohup gunicorn --worker-class=gevent NSLoger.wsgi:application -b 127.0.0.1:8000&

    --worker-class는 작업 방식을gevent로 지정하고, -b는 주소와 포트 번호를 지정합니다.
    참고: 끝 부분에 & (and) 문자를 추가하면 백그라운드가 실행됨을 나타냅니다.
    이 명령을 실행하면 ps 명령으로 프로세스를 볼 수 있습니다~

    Start


    자, 이상은 전체 서버의 설정입니다.그리고 Nginx를 다시 시작하면 페이지를 새로 고치면 당신의 Django 앱을 볼 수 있습니다.
    sudo service nginx restart

    소백의 배치 일기 한 편이 여기까지 왔습니다. 만약 무슨 잘못이 있으면 여러분께서 크게 지적해 주십시오!
    그리고 한 문장을 더 추천합니다.
  • Setting up Django with Nginx, Gunicorn, virtualenv, supervisor and PostgreSQL
  • 좋은 웹페이지 즐겨찾기