반응형


[python]장고개발 환경설정 및 리눅스 운영서버에 설치




이번에 python을 공부하고자 알아보던와중 어떤 프레임워크를 쓸까? 


하다 발견한 장고 ! 아직 초기단계라 구글을 이용한 검색등을 통하여 설치밖에 못하여봣지만


하나씩 잊지않도록 포스팅을 해보고자한다.


**해당 포스팅은 여러 블로거들의 정보를 필자에게 맞도록 정리한것이며 

메인 정보 출저는 해당글 맨아래에 모아서 표시하도록하겠습니다..



▼ 리눅스 운영서버에 장고프레임워크 설치 및 구성


  1. 대상 및 준비

  2. Python 설치 / 실행

  3. 장고 설치 / 실행

  4. SQLite / MySQL 설치 및 실행

  5. 장고 프로젝트 시작

  6. 파이썬 가상환경 설치

  7. 참고


1 대상 및 준비

대상

  • 리눅스 환경(CentOS 7.1)의 서버
  • Python 3.x가 이미 설치된 CentOS 7.0

파이썬 버전 확인

[root@localhsot ~]# python -version
Python 3.5.1



2 Python 설치 및 설정, 실행

Python 소스코드 설치

Python 3.x의 버전 설치

cd /tmp
wget -N https://www.python.org/ftp/python/버전 기입 ex)3.5.1 /Python-3.5.1.tgz
tar xzf Python-3.5.1.tgz
cd Python-3.5.1
./configure
make
make altinstall

기존 usr/bin/의 python 바꾸기

mv /usr/bin/python /usr/bin/python_old
cp /usr/local/bin/python3.5 /usr/bin/python


CentOS에 낮은 버전의 파이썬이 등록되어 있다면?

[root@localhsot  ~]# cp /usr/bin/yum /usr/bin/yum_old
[root@localhsot ~]# sed -i 's/\/usr\/bin\/python/\/usr\/bin\/python3.5.1/g' /usr/bin/yum
[root@localhsot ~]# diff /usr/bin/yum_old /usr/bin/yum
1c1
< #!/usr/bin/python
---
> #!/usr/bin/python3.5.1

파이썬 보조 프로그램 설치

yum install python-pip, python-setuptools



3 Django 설치 및 설정, 실행

Django 설치

pip를 사용하여 설치

pip install Django==1.6.5

python에 들어가서 아래 스크립트 실행하여 장고 버전 확인

[root@localhsot  tmp]# python
>>> import django
>>> print(django.get_version())
1.6.5



4 SQLite, MySQL 설치 및 설정

장고의 기본 DB는 SQLite 인데, SQLite와 파이썬 연동 모듈을 따로 설치해줘야 한다.

//SQLite 설치
yum install sqlite-devel
 
// 파이썬-SQLite 연동 모듈 설치
pip install pysqlite


소스 설치 방법

현재 yum으로 설치된 상태이며, 운영환경을 구축할 때 소스 설치하며 작성 예정

참고 : http://blog.keypointer.co.kr/?p=53

http://blog.blueweb.co.kr/119

YUM 설치 방법

참고 : APM 설치 기본 - Apache, PHP, MySQL 서버 구축

Python-MySQL 연동 모듈 설치

pip install mysql-python

MySQL을 소스로 설치한 경우, pip 자동 설치로는 제대로 작동하지 않을 수 있다.

DB와 사용자 생성

장고 프로젝트의 settings.py에 입력할 DB이름과 DB사용자이름, DB사용자비밀번호가 아래 명령으로 생성된다.

$ mysql -u root -p
# 비밀번호 입력
 
// DB 생성
mysql> create database DB이름;
 
// 로컬접속 허용 User 생성
mysql> grant all privileges on DB이름.* to 사용자이름@localhost identified by '사용자비밀번호';
// 외부접속 허용 User 생성
mysql> grant all privileges on DB이름.* to 사용자이름@'%' identified by '사용자비밀번호';
 
mysql> flush privileges;



6 Django 프로젝트 시작

새로운 프로젝트 만들기

생성하고자 하는 디렉토리로 이동 후,

django-admin.py startproject 프로젝트명

프로젝트 설정하기

프로젝트명/프로젝트명/settings.py 수정 : DB, 언어, 시간 등

기본 SQLite3를 사용하는 경우의 설정

#이외의 설정은 기본 설정을 따름
DATABASES = {
    'default': {
        'ENGINE''django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
DATABASE_OPTIONS = {'charset''utf8'}
  
LANGUAGE_CODE = 'ko-kr'
TIME_ZONE = 'Asia/Seoul'

MySQL을 사용하는 경우의 설정

#이외의 설정은 기본 설정을 따름
DATABASES = {
    'default': {
        'ENGINE''django.db.backends.mysql',           # 'postgresql_psycopg2''mysql''sqlite3' or 'oracle'
        'NAME''DB 이름',
        'USER''DB 사용자 이름',
        'PASSWORD''DB 사용자 비밀번호',
        'HOST''',                                     # 입력안하는 경우, 기본: localhost
        'PORT''',                                     # 입력안하는 경우, 기본 포트: 3306
    }
}
DATABASE_OPTIONS = {'charset''utf8'}
  
LANGUAGE_CODE = 'ko-kr'
TIME_ZONE = 'Asia/Seoul'

프로젝트를 DB와 Sync

새로운 프로젝트로 들어가서, DB 싱크

python manager.py syncdb

프로젝트를 테스트 서버에서 실행

Python 내장 서버는 개발 및 테스트용으로 사용함

[runean@centos6dev mysite]$ python manager.py runserver
Validating models...
0 errors found
June 232014 06:58:33
Django version 1.6.5, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
 
#외부 접근 가능하게 하려면,
Python manage.py runserver 0.0.0.0:포트번호

브라우저에서,

초기 페이지 : 127.0.0.1:8000
관리자 페이지 : 127.0.0.1:8000/admin



7 파이썬 가상 환경 설치 : virtualenv

vitualenv는 파이썬 패키지를 프로젝트별로 다르게 설치 및 사용하기위해, 리눅스 사용자마다 다른 파이썬 환경을 제공하는 도구이다.

# 설치
$ pip install virtualenv
 
# 해당 계정의 가상 파이썬 환경 저장
virtualenv 폴더명(보통 venv로 사용함)
 
# 가상 파이썬 환경 활성화
. venv/bin/activate

(venv)$ pip install 패키지명 : 현재의 가상 파이썬 환경에 설치
(venv)$ sudo pip install 패키지명 : 실제 파이썬 환경에 설치



8 참고







** 도움을 주신 블로그 주소 **






반응형

BELATED ARTICLES

more