准备
- 树莓派程序烧录
- VNC@Viewer下载
进入路由器查看你的树莓派连接的热点IP
配置树莓派VNC连接
$ ssh [email protected]
# 进入配置
$ sudo raspi-config
# 配置VNC
$ Interfacing Options ---> VNC ---> yes
# 进入vnc更新依赖库
进入管理员用户
$ sudo su
安装nginx
# 安装nginx
$ sudo apt install nginx
# 开机自启
$ systemctl enable nginx
# 查看状态
$ systemctl status nginx
# 启动
$ systemctl start nginx
- nginx配置文件
- 网站文件存放位置:
/var/www/html
- 可以启用的站点nginx配置:(原配置文件,需要修改)
/etc/nginx/sites-available/default
- 已经启用的站点nginx配置:(sites-available/default的快捷方式文件,不需要修改)
/etc/nginx/sites-enabled/default
- 网站文件存放位置:
启用树莓派root用户
$ sudo passwd root
# New password: ***
# Retype new password: ***
# passwd: password updated successfully
# 使用root用户登录
$ reboot
部署前的准备
- 查看系统CPU架构
$ uname -a # Linux raspberrypi 5.15.32-v8+ #1538 SMP PREEMPT Thu Mar 31 19:40:39 BST 2022 aarch64 GNU/Linux # 架构为 aarch64
aarch64
与armv7l
关系(太多的我也不太懂,摘自互联网)AArch64
是ARMv8
架构的一种执行状态
- 安装
node
$ cd /usr/local $ wget https://npmmirror.com/mirrors/node/v16.15.1/node-v16.15.1-linux-arm64.tar.xz $ tar xvf node-v16.15.1-linux-arm64.tar.xz $ ./node-v16.15.1-linux-arm64/bin/node -v # v16.15.1 # 软连接配置为全局 $ ln -s /usr/local/node-v16.15.1-linux-arm64/bin/node /usr/bin/node $ ln -s /usr/local/node-v16.15.1-linux-arm64/bin/npm /usr/bin/npm $ ln -s /usr/local/node-v16.15.1-linux-arm64/bin/npx /usr/bin/npx
- 安装
pm2
$ npm install pm2 -g $ ln -s /usr/local/node-v16.15.1-linux-arm64/bin/pm2 /usr/bin/pm2
部署Django项目到树莓派
# 上传项目到 /var/www/server/ 目录上
$ cd /var/www/server/
$ python3 -m venv venv
$ source ./venv/bin/activate
# $ deactivate 推出环境
$ pip3 install django
$ python3 manage.py runserver 0.0.0.0:8000
# 后台运行(需要自己定义一个 start.sh 传到树莓派上)
# 内容:
# source ./venv/bin/activate
# python3 manage.py runserver 0.0.0.0:8000
$ pm2 start start.sh
# 开机自启
$ pm2 startup
$ pm2 save
部署前端项目
- 上传前端打包代码
- 修改nginx
location /api { proxy_pass http://127.0.0.1:8000; }
解决树莓派自动黑屏休眠模式
$ sudo nano /etc/lightdm/lightdm.conf
# xserver-command=X -s 0 -dpms
# -s 屏幕保护不启用
# -dpms 关闭电源节能管理