Django 学习笔记---环境配置

环境

ubuntu14.04  

virtualenv13.1.0 

Django1.8.3

uwsgi1.9.17.1-debian

nginx1.4.6

安装使用virtualenv

apt-get install python-pip
pip install virtualenv virtualenvwrapper

修改~/.bash_profile或其它环境变量相关文件,添加以下语句

export WORKON_HOME=/usr/local/virtualenvs
export PROJECT_HOME=/usr/local/workspace
#source /usr/local/bin/virtualenvwrapper.sh

如果项目路径不存在要手动创建
mkdir /usr/local/workspace

常用命令:

mkvirtualenv [-p python3.4]  ENV:创建运行环境ENV,-p指定python版本
mkproject [-p python3.4] PRJ:创建PRJ项目,-p指定python版本
workon ENV/PRJ: 切换到ENV环境/切换到PRJ项目路径和环境
deactivate:退出当前运行环境
rmvirtualenv ENV:删除运行环境ENV

mktmpenv:创建临时运行环境
lsvirtualenv: 列出可用的运行环境
lssitepackages: 列出当前环境安装了的包

virtualenv中安装Django

首先创建Django项目运行环境和路径(本例创建python3.4运行环境)
mkproject -p python3.4 django

将会生成/usr/local/workspace/django项目路径
进入环境:workon django    退出环境:deactivate

进入环境,安装Django
pip install Django

然后创建一个测试项目
django-admin startproject mysite
python manage.py makemigrations
python manage.py migrate

启动项目测试下:
python manage.py runserver 0.0.0.0:8008
(端口冲突换端口,ctrl + c 终止服务)
浏览器打开 http://设备IP:8008/
显示It worked!成功

收集下静态文件(下文测试admin时需要,否则加载不到样式表)
编辑mysite/settings.py添加
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
python manage.py collectstatic

安装配置uwsgi

apt-get install uwsgi uwsgi-plugin-python uwsgi-plugin-python3

配置uwsgi
复制默认基础配置文件,修改为自己的配置文件,未配置的选项将会按default.ini执行(复制后最好删掉最上边的注释,以免误会)
cp /usr/share/uwsgi/conf/default.ini /etc/uwsgi/apps-available/django.ini
ln -s /etc/uwsgi/apps-available/django.ini /etc/uwsgi/apps-enabled/

打开配置文件,增加以下配置:
plugins = python3
chdir = /usr/local/workspace/django/mysite
module = mysite.wsgi
env = DJANGO_SETTINGS_MODULE=mysite.settings
virtualenv = /usr/local/virtualenvs/django/
其中:
chdir为django项目所在路径(django-admin startproject mysite 的路径)
virtualenv为python环境路径(在virtualenv中用which python查看,写到bin路径前即可)

修改项目文件的用户和组到uwsgi运行用户

启动
service uwsgi restart

安装配置nginx

upstream django {
    server unix:///run/uwsgi/app/django/socket;
}

server {
    listen      8008;
    charset     utf-8;
    client_max_body_size 75M;   # adjust to taste

    location /media  {
        alias /usr/local/workspace/django/mysite/media; 
    }

    location /static {
        alias /usr/local/workspace/django/mysite/static; 
    }

    location / {
        uwsgi_pass  django;
        include   uwsgi_params; 
    }
}

重新加载配置
service nginx reload

打开浏览器http://IP地址:8008和http://IP地址:8008/admin查看效果

你可能感兴趣的:(nginx,django,uwsgi,virtualenv,ubuntu14.04)