准备
进入路由器查看你的树莓派连接的热点IP
配置树莓派VNC连接
$ ssh pi@192.168.3.101
# 进入配置
$ 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配置文件
- 网站文件存放位置:
- 可以启用的站点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 关系(太多的我也不太懂,摘自互联网)
- 安装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项目到树莓派
# 导出当前项目的依赖包
$ pip freeze > requirements.txt
# 导入依赖包
$ pip install -r requirements.txt
# 上传项目到 /var/www/server/ 目录上
$ cd /var/www/server/
# 安装虚拟环境, --system-site-packages 虚拟环境继承全局的依赖包
$ python3 -m venv venv --system-site-packages
# 进入虚拟环境
$ 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
部署前端项目
解决树莓派自动黑屏休眠模式
$ sudo nano /etc/lightdm/lightdm.conf
# xserver-command=X -s 0 -dpms
# -s 屏幕保护不启用
# -dpms 关闭电源节能管理