您的位置:首页 > 编程语言 > Go语言

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

2015-10-08 22:35 806 查看

环境

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查看效果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息