debian 아래 nginx + uwsgi + Django 1.5.1 설정 환경

6845 단어
그동안 Django 테스트 환경 관리자. py runserver 였 습 니 다.
프로젝트 준비 의 차 이 는 많 지 않 지만 출시 준 비 를 한다.큰 소의 추천 으로 virtualbox 를 사용 하여 debian wheezy 버 전 을 설치 합 니 다.
사고의 방향.
1: 설치 시스템
2: 원 격 SSH 시 뮬 레이 션 로그 인 vps
3: python 과 Django 개발 환경 설치
4: nginx + uwsgi 설치 및 테스트
5: 전체 테스트
설치 준비
1: 깨끗 한 debian 을 설치 한 후 시작 합 니 다.시스템 소프트웨어 설치 중 오류 발생, 건 너 뛰 기 ~
다시 시작
업데이트
apt-get updage;apt-get upgrade;
설치 vim
apt-get install vim

일반 사용자 가 슈퍼 명령 을 수행 하려 면 sudo 가 필요 합 니 다.
apt-get install sudo

권한 수정
#chmod 640 /etc/sudoers
#vim /etc/sudoers
#chmod 440 /etc/sudoers

440 권한 을 수정 하기 전에 기억 하 세 요.
watsy ALL = (ALL) ALL \ # 여기 watsy 는 일정한 권한 을 부여 해 야 하 는 사용자 입 니 다.
저장 종료
일반 사용자 로 전환
su watsy
미 러 원본 수정
sudo vim /etc/apt/sources.list

주소.
deb http://ftp.cn.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.cn.debian.org/debian/ wheezy main contrib non-free

deb http://ftp.cn.debian.org/debian-security/ wheezy/updates main contrib non-free
sudo apt-get updage;sudo apt-get upgrade;sudo apt-get install builde-essential;sudo apt-get autoremove;sudo apt-get autoclean

여기까지 시스템 환경 설정 완료
설치 ssh
apt-get install openssh-server
다시 시작
원 격 ssh 로그 인, 이 단계 에서 virtualbox 네트워크 모드 를 브리지 로 설정 해 야 합 니 다.관계 가 크 지 않다
세 번 째 단 계 는 python 개발 환경 을 설치 합 니 다.
python 관련 환경 설치
apt-get install python-dev libxml2 libxml2-dev
apt-get install python-setuptools

뒷전
아래 의 문장 을 참고 하면 일부 절차 에 문제 가 있다.
간소화 한 절차
http://2goo.info/blog/panjj/Django/2011/06/05/521
http://2goo.info/blog/panjj/Django/2013/05/16/549
흐름:
debian wheezy 시스템 자체 python 2.7.3 버 전
python 개발 패키지 설치
pip 설치
virtualenv (python 의 가상 환경) 글 을 설치 하면 360 에서 python - virtualenv 편 을 어떻게 사용 하 는 지 참고 할 수 있 습 니 다.
가상 환경 에서 개발 자원 모듈 을 설치 하 다.
cd /opt/
sudo mkdir www
virtualenv --no-site-packages --distribute example
cd example

다음은 가상 환경 에서 개발 자원 패키지, django django - tinymce 등 을 설치 합 니 다.
참고 자 료 는 pip 를 직접 사용 합 니 다.
실제 테스트 pip 는 개발 환경 에 설치 되 지 않 았 습 니 다.
구 글 을 통 해 실제 실행 해 야 합 니 다.
/opt/www/exmple/bin/pip install Django==1.5.1

기타 설정 환경 이 일치 합 니 다.
ssh 서버 에 로 컬 코드 업로드. manager runserver 성공
네 번 째 단계.nginx 와 uwsgi 설치
주력 참고
https://gist.github.com/evildmp/3094281
보조 참조
http://developer.51cto.com/art/201010/229615.htm
그 중에서 github 가 참고 한 Install nginx 부분 은 sudo pip nginx 입 니 다.
권한 부분 은 chmod - socket = 666 을 설정 해 야 합 니 다.
--virtualenv /path/to/virtualenv

여기에 설정 해 야 할 virtualenv 경 로 는 실제 virtualenv 가 생 성 한 웹 경로 입 니 다.본 예 는 다음 과 같다. /opt/www/example
뒤에서 시작 하면 다음 과 같은 오류 가 발생 했 습 니 다.
- *** WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers *** 
- VirtualHosting mode enabled. 
- uwsgi socket 0 bound to UNIX address /run/uwsgi/app/vhosts/socket fd 5 
- unlink(): Operation not permitted [socket.c line 75] 
- bind(): Address already in use [socket.c line 107] 

자 료 를 찾 아 보 니 다시 시작 하면 됩 니 다.
이로써 설정 이 성공 하 였 습 니 다.다음은 도 메 인 이름과 vps 를 구입 하여 출시 준 비 를 할 수 있 습 니 다.
전체 프로 세 스
준비 절 차 를 참고 한 후.
Django 환경
집행 하 다.
python 을 설치 한 가상 환경
설치 가 끝 난 후 가상 환경 에서 발표 환경 을 설정 합 니 다.
sudo apt-get install python-pip
sudo pip install -U virtualenv

이렇게 해서 가상 python 개발 환경 에 들 어 갔다.
이 환경 에서 Django 설치
cd /var/www
sudo virtualenv --no-site-packages --distribute python
sudo chown www-data:www-data python
sudo chmod 777 -R python
cd python
su          
source bin/activate

설치 완료 후 django 프로젝트 1 개 만 들 기
pip install django==1.5.1

settings 를 설정 하 는 apps
django-admin.py startproject helloDjango
cd helloDjango
django-admin.py startapp helloApp

INSTALLED 찾기APPS 추가
vim /var/www/python/helloDjango/helloDjango/settings.py

테스트 django 프로젝트
INSTALLED_APPS = {
     ......
      'helloDjango',
      'helloApp',
     ......
}

이 때 브 라 우 저 입력
pwd
> /var/www/python/helloDjango

python /var/www/python/helloDjango/manage.py runserver 0.0.0.0:8000

django 의 debug 페이지 를 볼 수 있 을 것 입 니 다.
python 가상 환경 종료
http://127.0.0.1:8000

nginx 설정
설치 nginx
deactivate

helloDjango 디 렉 터 리 에서 실행
apt-get install nginx

입력
vim helloDjango.conf

그리고 설정 을 nginx 에 연결 합 니 다.
upstream helloDjango {
    server unix:///tmp/uwsgi.sock;
}

server {
    listen    8000;
    server_name    127.0.0.1 192.168.2.108;
    charset    utf-8;

    client_max_body_size    75M;

    access_log    /var/log/nginx/helloDjango/access.log;
    error_log    /var/log/nginx/helloDjango/error.log;

    #path
    location / {
        uwsgi_pass    helloDjango;
        include    /etc/nginx/uwsgi_params;
    }
}

uwsgi 설정
설치
ln -s /var/www/python/helloDjango/helloDjango.conf /etc/nginx/sites-enabled/

uwsgi 파일 먼저 설정
apt-get install uwsgi

기입 하 다.
vim /var/www/python/helloDjango/helloDjango.ini

연결
[uwsgi]
master = true
chdir = /var/www/python/helloDjango
processes = 2
socket = /tmp/uwsgi.sock
chmod-socket = 666
wsgi-file = /var/www/python/helloDjango/helloDjango/wsgi.py
home = /var/www/python
daemonize = /var/log/uwsgi/helloDjango.log

시작 테스트
uwsgi 와 nginx 를 다시 시작 합 니 다.
ln -s /var/www/python/helloDjango/helloDjango.ini /etc/uwsgi/apps-enabled/

브 라 우 저 입력
service uwsgi start
service nginx start

의외로 익숙 한 화면 을 볼 수 있다.
오류 처리
질문
http://127.0.0.1:8000

질문
vim /var/log/nginx/helloDjango/error.log

하면, 만약, 만약...
*** no app loaded. going in full dynamic mode ***
집행 하 다.
이후 uwsgi 다시 시작

좋은 웹페이지 즐겨찾기