人生苦短,快用 python。因为刚刚接触到 django,实现项目之后,对部署不太熟悉,所以在树莓派上尝试一下。文中教程 Linux 通用。
部署概览
我们采用 nginx + uwsgi 的方案进行部署。整个系统架构图如下:
环境配置
首先需要安装 virtualenv 为其提供独立的环境,命令行如下:
pip3 install virtualenv
创建并生成环境,我的项目名为 demo,我决定将它放置在 /home/pi/www/demo 下,命令行如下:
cd ~/www/demo
python3 -m virtualenv --no-site-packages venv
激活环境命令为:
source venv/bin/activate
注:激活环境后,输入命令的指示标志前会变成类似 (venv) pi@raspberrypi:~/www/demo $。
退出当前环境命令为:
deactivate
django 项目配置
环境配置好后,便可以准备项目的上传。该部分的所有命令皆是在激活虚拟环境(source venv/bin/activate)之后进行。
(1). 在编写 django 项目的测试机器上,进入项目根目录(存着 manage.py 文件的目录),cd 到该目录,之后运行如下命令生成扩展库信息列表:
pip freeze > requirements.txt
(2). 把 django 项目整个传到树莓派上,项目根目录(manage.py 同级目录)下的全部文件全部复制到树莓派项目目录,复制之后,情况大概是这样:
(venv) pi@raspberrypi:~/www/demo $ ls
demo guestbook manage.py requirements.txt venv
(3). 安装扩展库,记住在激活的环境下执行,命令行如下:
pip3