Set up Django development environment on CentOS6.5

WBOY
Release: 2016-12-05 13:27:13
Original
1172 people have browsed it

Today I installed the Django development environment on my Centos6.5 machine. After the installation, I used "django-admin.py startproject myapp" to create the application and the following error was reported

$ 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
Copy after login

After checking, I found that the python version on my machine is too old. The Python version of CentOS6.5 is 2.6.6, and the latest django (1.8.4) requires a Python version of 2.7.x. I wanted to upgrade my machine. Python, I was worried that it would affect other applications, and I suddenly thought that I could use Docker to solve the problem I encountered. The following are the steps for the django development environment I built using Docker.

First create a directory to store the Docker configuration file. Here I call it django_env.

Create a Dockerfile file in the django_env directory with the following content

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"]
Copy after login


Considering that multiple services will be started in Docker later, supervisor is still used to create a supervisord.conf file with the following content

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

Copy after login

Run the following command in the django_env directory to generate a container image

Copy the code The code is as follows:

sudo docker build -t django_env .


Generate containers based on container images

Copy the code The code is as follows:

sudo docker run -v /home/kongxx/mywork:/data --name=test -d -P django_env


“-v /home/kongxx/mywork:/data” is used here to share code between the host machine and the container

After the container is generated, you can use the "sudo docker inspect test | grep IPAddress" command to view the IP address of the container. Then use ssh to log in to the container

Copy the code The code is as follows:

ssh root@


After logging in to the container, we can run the django command to create and start the application, as follows

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

At this point, visit http://:8000 in the browser and you will see that the service is running.

The above is the entire content of this article. I hope it will be helpful to everyone’s study. I also hope that everyone will support Script Home.

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template