共计 4007 个字符,预计需要花费 11 分钟才能阅读完成。
简介:基于树莓派 3B 打造个人的远程 Web 服务器完全教程,主要是各个帖子内容的集合,并非原创但经过实践验证保证其在最新的系统环境上有效。
系统配置: Raspberry Pi 3B + Raspbian + MySQL5.7 + Tomcat 9 + Nginx + 公网 IP。
工具:Win32DiskImager、FileZilla(FTP 客户端)、Navicat for MySQL、VNC Viewer 等
一、树莓派简介
树莓派是由树莓派基金为学习计算机编程教育设计的一种微型电脑,可搭载多种 Linux 操作系统及 Windows IoT。树莓派作为基于 ARM 的微型电脑主板,具有完整的外设接口,此外,还有丰富的可编程 GPIO 引脚,功能强大,可玩性高,操作简单。
二、安装 Raspbian
Raspbian 是树莓派官方的 Linux 操作系统,基于 Debian Linux。第三方 Linux 操作系统还有 Ubuntu META / Core / Server 等版本。
搜索 Raspbian 进入官网 Download 页面:
下载 Raspbian Buster with desktop 并解压得到 IMG 系统镜像文件:
打开 Win32DiskImager 选择 IMG 文件并选择 SD 卡设备,点击 Write 写入:
写入完成后将 SD 卡插入树莓派,连接显示屏,等待系统启动。
三、系统配置篇
系统开启后进入桌面,先完成一些偏好设置,在系统提示重启之前进行如下设置:
使能 SSH 和 VNC(远程桌面):
可以重启树莓派了。
如果没有显示屏提供操作,把树莓派用网线连接在路由器上,打开 Windows 命令提示符或者使用 Xshell 等 SSH 客户端,输入 ssh pi@树莓派 IP(登陆路由器可看到):
ssh pi@192.168.43.132
用以下方法也可以启用 VNC:
输入 sudo raspi-config
键盘上下键移动高亮 Interfacing Options 回车:
选择 P3 VNC Enable 使能 VNC 功能
重启树莓派。
电脑上安装 VNC Viewer,在文本框里输入树莓派 IP:
回车后输入用户名和密码:
成功连接:
FTP 文件传输
打开 Filezilla 新建连接,选择 SFTP 协议,输入用户名和密码:
成功连接:
四、软件安装篇
1. apt 源配置
更换 apt 及 apt-get 的仓库源
sudo nano /etc/apt/sources.list
删除已有内容,之后复制粘贴:
deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ stretch main non-free contrib
键盘 Ctrl + X,Y,Enter
更换树莓派基金会维护软件源:
sudo nano /etc/apt/sources.list
.d/raspi.list
将所有行行首 # 注释掉,而后复制粘贴
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ stretch main ui
deb-src http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ stretch main ui
Ctrl + X,Y,Enter
2. Java 环境
简单安装: sudo apt install openjdk-8-jdk
强迫症安装:进入 oracle 官网下载(貌似还要注册)
网盘分享链接:https://pan.baidu.com/s/1Rzg0xOMXVpZbcq889jMyTQ
提取码:1jd0
选择合适的版本:
用 Filezilla 把下载的文件拖到指定目录:
# 解压文件
tar -zxf jdk-8u221-linux-arm32-vfp-hflt.tar.gz
# 移动文件到 opt 目录(个人习惯)sudo mv jdk1.8.0_221/ /opt/
# 环境变量配置:sudo nano /etc/profile
# 在文档末尾添加如下信息
JAVA_HOME=/opt/jdk1.8.0_221
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
Ctrl + X,Y,Enter
source /etc/profile 再输入 java –version 看到如下信息则安装成功:
3. Tomcat
简单安装:sudo apt install tomcat8 –y
开启方式:tomcat start
强迫症安装:进入 Tomcat 官网下载最新的版本
# 同样用 FTP 传到树莓派,解压:tar zxf apache-tomcat-9.0.22.tar.gz
# 移动到 opt 目录:sudo mv apache-tomcat-9.0.22 /opt/
# 更改权限,使其访问不受限制:sudo chmod -R 777 /opt/apache-tomcat-9.0.22/
# 开启 Tomcat 服务:bash /opt/apache-tomcat-9.0.22/bin/startup.sh
在浏览器输入 http:// 树莓派 IP:8080 可以看到 Tomcat 服务开启。
4. MySQL
4.1 安装 MySQL:
简单安装:sudo apt install mysql-server –y
不一定成功,如下图的依赖错误:
终极安装:进入 debian 的 mysql 软件包站点将 mysql 和其所依赖的包全部下载并逐个安装:https://packages.debian.org/sid/mysql-server-5.7,
此法是 apt 自动安装脚本的手动实现,这里吐槽以下 apt 一点都不智能,经常出现依赖问题,再有 MySQL 被 Oracle 公司收购后走向商业化,现在开源工作者力推 MariaDB,它是 MySQL 的一个开源分支,用法和命令与 MySQL 完全一致。
共需下载 9 个包:
可以直接下载我打包好的:
链接:https://pan.baidu.com/s/1ZMBWovALd-SZZMvfmCjyRw
提取码:72h5
例举其中一个包的下载方法:
选择合适的体系结构,Raspbian 是基于 armhf
选择镜像站点开始下载,当然是亚洲中国的最快:
使用 dpkg 包管理命令安装,按顺序输入如下命令:
sudo dpkg -i libaio1_0.3.112-3_armhf.deb
sudo dpkg -i libevent-core-2.1-6_2.1.8-stable-4_armhf.deb
sudo dpkg -i libevent-extra-2.1-6_2.1.8-stable-4_armhf.deb
sudo dpkg -i libmecab2_0.996-6_armhf.deb
sudo dpkg -i mysql-client-core-5.7_5.7.26-1_armhf.deb
sudo dpkg -i mysql-common_5.8+1.0.5_all.deb
sudo dpkg -i mysql-client-5.7_5.7.26-1_armhf.deb
sudo dpkg -i mysql-server-core-5.7_5.7.26-1_armhf.deb
sudo dpkg -i mysql-server-5.7_5.7.26-1_armhf.deb
所有包安装完成后输入 sudo mysql 出现如下信息,则安装成功:
4.2 配置 MySQL
最新的 MySQL5.7 安装后没有提示修改密码,此时密码是未知的,通过以下方式重置:
1. 打开 MySQL 配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
如图所示加入:
skip-grant-tables
并注释:
bind-address =127.0.0.1(开启远程连接用)
Ctrl + X,Y,Enter
2. 输入 mysql –u root –p 不用输密码直接回车,在 MySQL 输入:
use mysql;
update user set authentication_string=password("123456") where user="root";
密码已经修改,输入
select user,plugin from user;
如果信息与红框一样则依旧无法登陆,再进行如下步骤:
update user set authentication_string=password("123456"),plugin='mysql_native_password' where user='root';
grant all privileges on *.* to root@`%` identified by '123456';
flush privileges;
Ctrl + D 退出
重启 mysql 服务:
sudo service mysql restart
电脑上打开 Navicat for MySQL,进行远程连接测试:
5. Nginx
安装方法如下:
sudo apt install nginx –y
使用 Nginx 反向代理 Tomcat。
使用 Nginx 代理多个服务器实现均衡负载。
搞了很久一直有问题,搞清楚了再更,不过一个 Tomcat 用反向代理没意义。
五、网络配置篇
(内网透传,随时随地访问,真正的远程服务器)
还没开学,路由器用不了,开学配置好后再更。
六、其他
1.vim 安装错误:
解决方法:
sudo apt autoremove vim-common
sudo apt install vim
2.JavaWeb 项目部署
Eclipse 中右键 Web 项目工程,导出 war 包到电脑桌面
通过 FTP 上传到树莓派 Tomcat web 应用目录,Tomcat 运行状态会自动解压:
登陆浏览器测试:
3. 有时间再写 如何搭载 Windows IoT 建立居家环境监控系统,并将数据传输到云端 。