>  기사  >  백엔드 개발  >  CentOS6.5에서 Django 개발 환경 설정

CentOS6.5에서 Django 개발 환경 설정

WBOY
WBOY원래의
2016-12-05 13:27:131124검색

오늘 Centos6.5 시스템에 Django 개발 환경을 설치한 후 "django-admin.py startproject myapp"을 사용하여 애플리케이션을 생성했는데 다음 오류가 보고되었습니다.

$ django-admin.py startproject myapp
Traceback (most recent call last):
 File "/home/jhadmin/myenv/bin/django-admin.py", line 2, in <module>
 from django.core import management
 File "/home/jhadmin/myenv/lib/python2.6/site-packages/django/__init__.py", line 1, in <module>
 from django.utils.version import get_version
 File "/home/jhadmin/myenv/lib/python2.6/site-packages/django/utils/version.py", line 7, in <module>
 from django.utils.lru_cache import lru_cache
 File "/home/jhadmin/myenv/lib/python2.6/site-packages/django/utils/lru_cache.py", line 28
 fasttypes = {int, str, frozenset, type(None)},
  ^
SyntaxError: invalid syntax

확인해보니 내 컴퓨터의 Python 버전이 너무 오래된 것으로 나타났습니다. CentOS6.5의 Python 버전은 2.6.6이고 최신 django(1.8.4)에는 Python 버전 2.7.x가 필요합니다. 내 컴퓨터에서 Python을 사용하는 것이 걱정되었고 다른 응용 프로그램에 영향을 미칠까 걱정되었습니다. 갑자기 Docker를 사용하여 내가 직면한 문제를 해결할 수 있다는 생각이 들었습니다. 다음은 Docker를 사용하여 구축한 django 개발 환경의 단계입니다.

먼저 Docker 구성 파일을 저장할 디렉터리를 만듭니다. 여기서는 django_env라고 합니다.

django_env 디렉토리에 다음 내용으로 Dockerfile 파일을 생성합니다

FROM centos:centos7

MAINTAINER Fanbin Kong "kongxx@hotmail.com"

RUN rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
RUN yum install -y openssh-server sudo supervisor python-pip

RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config

RUN echo "root:Letmein" | chpasswd

RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN mkdir /var/run/sshd

RUN pip install django

RUN mkdir -p /var/log/supervisor
COPY supervisord.conf /etc/supervisord.conf
 
EXPOSE 22 
CMD ["/usr/bin/supervisord"]


나중에 Docker에서 여러 서비스가 시작된다는 점을 고려하면 여전히 Supervisor를 사용하여 다음 내용으로 Supervisord.conf 파일을 생성합니다.

[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D

django_env 디렉터리에서 다음 명령을 실행하여 컨테이너 이미지를 생성합니다

코드 복사 코드는 다음과 같습니다.
sudo docker build -t django_env .

컨테이너 이미지를 기반으로 컨테이너 생성

코드 복사 코드는 다음과 같습니다.
sudo docker run -v /home/kongxx/mywork:/data --name= 테스트 -d -P django_env

여기서 "-v /home/kongxx/mywork:/data"는 호스트 시스템과 컨테이너 간에 코드를 공유하는 데 사용됩니다

컨테이너가 생성된 후 "sudo dockerspect test | grep IPAddress" 명령을 사용하여 컨테이너의 IP 주소를 볼 수 있습니다. 그런 다음 SSH를 사용하여 컨테이너에 로그인합니다

코드 복사 코드는 다음과 같습니다.
ssh root@21295be88ff3a8fecc131790995bfe05

컨테이너에 로그인한 후 다음과 같이 django 명령을 실행하여 애플리케이션을 생성하고 시작할 수 있습니다

cd /data
django-admin.py startproject myapp
cd myapp
python manage.py runserver 0.0.0.0:8000

이때 브라우저에서 http://:8000에 접속하시면 서비스가 실행되고 있는 것을 보실 수 있습니다.

위 글의 내용은 모두의 공부에 도움이 되길 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.