debian 아래 nginx + uwsgi + Django 1.5.1 설정 환경
프로젝트 준비 의 차 이 는 많 지 않 지만 출시 준 비 를 한다.큰 소의 추천 으로 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 다시 시작
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.