树莓派安装jdk、tomcat、vnc、谷歌浏览器开机自启等环境配置

前缀:树莓派系统的基本情况

一、开启树莓派中的vnc

树莓派系统找商家提前安装好;

系统自带vnc.(默认是关闭的),需要用户手动开启


初始vnc 远程连接的账号密码

java 复制代码
账户pi 密码raspberry

二、安装JDK

在 Debian 12 (Bookworm) 系统上,通过包管理器安装 OpenJDK 是最简单和安全的方法。根据你的树莓派信息(架构 aarch64,系统 Debian 12),以下是具体步骤

Debian 12 的官方软件源默认提供 OpenJDK 17。你可以根据自己的需求选择安装完整版或精简版。

2.1 具体安装步骤

更新软件包列表

打开终端,首先更新本地软件包缓存,以确保能获取到最新的软件信息。

java 复制代码
sudo apt update

2.2 安装完整版 (JDK)

java 复制代码
sudo apt install openjdk-17-jdk

2.3 验证安装

java 复制代码
java --version

三、修复 DNS 设置 (根本解决)

为了可以从互联网上拉取安装包,需要修改树莓派系统的DNS设置

3.1 编辑配置文件:

java 复制代码
sudo nano /etc/resolv.conf

3.2 修改内容:

将这个文件里的内容清空或注释掉,然后添加以下两行(使用的是公共 DNS 服务):

java 复制代码
nameserver 8.8.8.8
nameserver 114.114.114.114

3.3 保存退出:

按 Ctrl+O,回车,再按 Ctrl+X。

java 复制代码
Ctrl+O  //写入文件
enter   //确定写入文件
Ctrl+X   //退出

3.4 测试 DNS 是否修复:

java 复制代码
# 测试域名解析
nslookup mirrors.tuna.tsinghua.edu.cn
# 或者直接 ping 域名
ping -c 2 mirrors.tuna.tsinghua.edu.cn

如果能看到 IP 地址返回,说明 DNS 已正常工作,然后就可以正常下载了:

java 复制代码
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.70/bin/apache-tomcat-9.0.70.tar.gz

3.5 保存后,重启网络服务或直接重启树莓派:

java 复制代码
# 重启网络服务
sudo systemctl restart networking
# 或者直接重启
sudo reboot

四、安装tomcat 9

在Debian 12 (Bookworm)中安装 Tomcat9 可以通过以下步骤完成.由于Debian 12官方仓库默认提供的是 Tomcat10(tomcat1e)而Tomcat 9需要从Debian11(Bullseye)的仓库安装,因此需要手动添加旧版仓库或下载安装包,具体如何从Debian11(Bullseye) 安装

从 Debian 11 仓库安装 Tomcat 9 完整步骤

步骤 1:添加 Debian 11 仓库源
java 复制代码
# 编辑软件源列表
sudo nano /etc/apt/sources.list

在文件末尾添加以下内容:

java 复制代码
deb http://deb.debian.org/debian bullseye main

保存并退出(Ctrl+O,Enter,Ctrl+X)。

步骤 2:更新软件包列表
java 复制代码
sudo apt update

执行后,你可能会看到类似这样的警告:

java 复制代码
W: Target Packages ... is configured multiple times
步骤 3:安装 Tomcat 9
java 复制代码
# 安装 Tomcat 9(系统会自动处理依赖)
sudo apt install tomcat9 -y

系统会自动安装以下内容:

  • tomcat9 核心包
  • tomcat9-common
  • libtomcat9-java
  • 以及相关的依赖
步骤 4:验证安装

检查 Tomcat 服务状态

java 复制代码
sudo systemctl status tomcat9

# 查看 Tomcat 版本
/usr/share/tomcat9/bin/version.sh

你应该能看到类似输出:

java 复制代码
Server version: Apache Tomcat/9.0.70 (Debian)
Server built:   May 27 2023 15:51:32 UTC
Server number:  9.0.70.0
步骤 5:启动 Tomcat 并设置开机自启
java 复制代码
# 启动 Tomcat 服务
sudo systemctl start tomcat9
# 停止 Tomcat 服务
sudo systemctl stop tomcat9

# 设置 Tomcat 开机自启
sudo systemctl enable tomcat9
# 重新加载 systemd 配置
sudo systemctl daemon-reload

# 查看版本
/usr/share/tomcat9/bin/version.sh

# 查看服务状态
sudo systemctl status tomcat9

五、 设置谷歌浏览器:开机自启

第一步:创建浏览器启动脚本

java 复制代码
# 创建脚本文件
nano /home/pi/start-browser.sh

输入以下内容:

java 复制代码
sleep 5
/usr/bin/chromium-browser --kiosk --noerrdialogs --disable-infobars --incognito http://192.168.2.26:8080/plant/zl/zl_Dewshidu.html

保存并退出(Ctrl+O,Enter,Ctrl+X)。

保存后,赋予执行权限:

java 复制代码
chmod +x /home/pi/start-browser.sh

第二步:配置开机自启

java 复制代码
# 创建 autostart 目录
mkdir -p /home/pi/.config/autostart

# 创建 .desktop 配置文件
cat > /home/pi/.config/autostart/chromium.desktop << 'EOF'
[Desktop Entry]
Type=Application
Name=Chrome Browser
Exec=/home/pi/start-browser.sh
X-GNOME-Autostart-enabled=true
EOF

第三步:配置自动登录

java 复制代码
# 编辑 LightDM 配置文件
sudo nano /etc/lightdm/lightdm.conf

切记: 在文件末尾添加以下内容:

java 复制代码
[Seat:*]
autologin-user=pi
autologin-user-timeout=0

保存并退出(Ctrl+O,Enter,Ctrl+X)。

保存后,重启生效:

java 复制代码
sudo reboot

六、固定系统IP地址

Debian 12 可能使用了 NetworkManager 而不是 dhcpcd。检查一下:

go 复制代码
# 查看当前使用的网络管理工具
ps aux | grep -E "dhcpcd|NetworkManager"

如果是NetworkManager配置

go 复制代码
root         716  0.0  0.4 263504 17856 ?        Ssl  09:29   0:00 /usr/sbin/NetworkManager --no-daemon
pi          2150  0.0  0.0   6240  1568 pts/0    S+   09:45   0:00 grep --color=auto -E dhcpcd|NetworkManager

法一、如果运行的NetworkManager配置

1. 查看当前连接名称
go 复制代码
nmcli connection show

运行结果:

go 复制代码
NAME                UUID                                  TYPE      DEVICE 
Wired connection 1  331c216f-a2af-3090-a541-f07688fa97ec  ethernet  eth0   
lo                  f76c5c2c-5639-464c-ba61-9390eae347bc  loopback  lo
2. 修改为静态 IP(假设连接名是 "Wired connection 1")
go 复制代码
sudo nmcli connection modify "Wired connection 1" \
  ipv4.method manual \
  ipv4.addresses 192.168.2.99/24 \
  ipv4.gateway 192.168.2.1 \
  ipv4.dns "114.114.114.114 8.8.8.8"
3. 重启连接使配置生效

从输出看,你的名称是 Wired connection 1(注意大小写和空格)

java 复制代码
sudo nmcli connection down "Wired connection 1"
sudo nmcli connection up "Wired connection 1"
4. 验证 IP
java 复制代码
ip a | grep eth0

执行后,ip a | grep eth0 应该显示:

java 复制代码
inet 192.168.2.99/24 brd 192.168.2.255 scope global noprefixroute eth0

最后:配置完成后需要做的事情

1. 更新浏览器启动脚本中的 IP
java 复制代码
nano /home/pi/start-browser.sh
2.将里面的 IP 改为 192.168.2.99:
java 复制代码
sleep 5
/usr/bin/chromium-browser --kiosk --noerrdialogs --disable-infobars --incognito http://192.168.2.99:8080/plant/zl/zl_Dewshidu.html

保存并退出(Ctrl+O,Enter,Ctrl+X)。
保存后,赋予执行权限:

java 复制代码
chmod +x /home/pi/start-browser.sh
3.温湿度传感器的目标地址也要改成192.168.2.99

法二、如果运行的是DHCP配置

树莓派默认使用 DHCP 动态分配 IP,重启后 IP 变化是正常现象。要解决这个问题,需要给树莓派设置一个静态 IP 地址。

第一步:获取当前网络信息

在开始配置前,我们需要先了解当前网络环境,请打开终端并执行以下命令:

java 复制代码
# 1. 查看当前 IP 地址和网卡名称
  ip a
# 2. 查看默认网关(路由器的 IP 地址)
   ip route | grep default
  • 记录网卡名称:通常有线网卡是 eth0,无线网卡是 wlan0。
  • 记录网关地址:类似 192.168.x.1 的地址。
第二步:编辑配置文件

在终端输入以下命令来编辑 dhcpcd 的配置文件:

java 复制代码
sudo nano /etc/dhcpcd.conf
第三步:添加静态 IP 配置

将光标移动到这个文件的末尾,然后根据你的连接方式添加以下内容:

1. 有线网络(eth0)示例

java 复制代码
# 指定网络接口(eth0 是有线网卡)
interface eth0
# 设置静态 IP 地址,后面的 /24 代表子网掩码 255.255.255.0
static ip_address=192.168.2.100/24
# 设置默认网关(即你家路由器的 IP)
static routers=192.168.2.1
# 设置 DNS 服务器(可设置多个,用空格隔开)
static domain_name_servers=114.114.114.114 8.8.8.8

2. 无线网络(wlan0)示例

如果你的树莓派用的是 Wi-Fi,配置 wlan0 接口:

java 复制代码
interface wlan0
static ip_address=192.168.2.100/24
static routers=192.168.2.1
static domain_name_servers=114.114.114.114 8.8.8.8

第四步:保存并退出

按 Ctrl+O,回车,再按 Ctrl+X。

java 复制代码
Ctrl+O  //写入文件
enter   //确定写入文件
Ctrl+X   //退出

第五步:验证配置是否生效

现在,重启树莓派让配置生效:

java 复制代码
sudo reboot

hostname -I  #查询IP

重启后,通过命令 hostname -I 查询配置的IP

七、部署war项目的具体步骤

步骤一、删除自动部署的 WAR 包项目

1 停止 Tomcat 服务(避免文件占用)
java 复制代码
  sudo systemctl stop tomcat9
2 删除 WAR 包和解压后的目录(例如项目名为 "plant")
go 复制代码
sudo rm -rf /var/lib/tomcat9/webapps/plant.war
sudo rm -rf /var/lib/tomcat9/webapps/plant
3 可选:清理 Tomcat 的工作缓存(work 目录)
java 复制代码
sudo rm -rf /var/lib/tomcat9/work/Catalina/localhost/plant

步骤二、把桌面上的 WAR 包项目复制到 webapps目录中

4 将你的 WAR 文件复制到 webapps 目录
java 复制代码
sudo cp /home/pi/Desktop/shumeipaibushu/plant.war  /var/lib/tomcat9/webapps/
5 重启 Tomcat
java 复制代码
sudo systemctl start tomcat9

步骤三、部署操作命令集合

java 复制代码
# 删除自动部署的 WAR 包项目

#1 停止 Tomcat 服务(避免文件占用)
    sudo systemctl stop tomcat9

#2 删除 WAR 包和解压后的目录(例如项目名为 "plant")
sudo rm -rf /var/lib/tomcat9/webapps/plant.war
sudo rm -rf /var/lib/tomcat9/webapps/plant

#3 可选:清理 Tomcat 的工作缓存(work 目录)
sudo rm -rf /var/lib/tomcat9/work/Catalina/localhost/plant

#4 将你的 WAR 文件复制到 webapps 目录
sudo cp /home/pi/Desktop/shumeipaibushu/plant.war  /var/lib/tomcat9/webapps/

#5 重启 Tomcat
sudo systemctl start tomcat9
相关推荐
basketball6161 分钟前
C++ 强制类型转换:从 C 风格到 C++ 四大金刚
java·c语言·c++
Dicky-_-zhang23 分钟前
容器网络CNI实战:从零搭建网络插件
java·jvm
Mahir0824 分钟前
Spring 事务深度解析:核心原理与 12 种事务失效场景全解
java·spring·面试·事务失效
SL_staff27 分钟前
从Zoom/腾讯会议迁移到私有化会议系统:数据迁移完整方案
java·架构
笨蛋不要掉眼泪28 分钟前
Java并发编程:内存可见性与synchronized同步机制
java·开发语言·并发
用户39599249400629 分钟前
Java开发者接入大模型API实战:从0到聊天机器人
java
JAVA面经实录91740 分钟前
Java 多线程完整版学习文档(无遗漏终版)
java·面试
考虑考虑44 分钟前
JDK26中的LazyConstant
java·后端·java ee
Devin~Y1 小时前
互联网大厂 Java 面试实录:JVM、Spring Boot、MyBatis、Redis、Kafka、Spring AI、K8s 全链路追问小Y
java·jvm·spring boot·redis·kafka·mybatis·spring security
摇滚侠1 小时前
SpringCloud 面试题 真正的 offer 偏方 Java 基础 Java 高级
java·spring·spring cloud