简介:基于树莓派3B打造我的的远程Web服务器彻底教程,主要是各个帖子内容的集合,并不是原创但通过实践验证保证其在最新的系统环境上有效。css
系统配置: Raspberry Pi 3B + Raspbian 10 + MySQL5.7 + Tomcat 9 + Nginx + 公网IP。html
工具:Win32DiskImager 、FileZilla(FTP客户端)、Navicat for MySQL、VNC Viewer等java
树莓派是由树莓派基金为学习计算机编程教育设计的一种微型电脑,可搭载多种Linux操做系统及Windows IoT。树莓派做为基于ARM的微型电脑主板,具备完整的外设接口,此外,还有丰富的可编程GPIO引脚,功能强大,可玩性高,操做简单。mysql
Raspbian是树莓派官方的Linux操做系统,基于Debian Linux。第三方Linux操做系统还有Ubuntu META / Core / Server 等版本。linux
搜索Raspbian进入官网Download页面:nginx
下载Raspbian Buster with desktop 并解压获得IMG系统镜像文件:web
打开Win32DiskImager 选择IMG文件并选择SD卡设备,点击Write写入:sql
写入完成后将SD卡插入树莓派,链接显示屏,等待系统启动。shell
系统开启后进入桌面,先完成一些偏好设置,在系统提示重启以前进行以下设置:apache
使能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协议,输入用户名和密码:
成功链接:
更换 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
简单安装: 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看到以下信息则安装成功:
简单安装: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服务开启。
简单安装: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出现以下信息,则安装成功:
最新的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,进行远程链接测试:
信息来源:https://www.cnblogs.com/cpl9412290130/p/9583868.html
安装方法以下:
sudo apt install nginx –y
浏览器输入IP:
使用Nginx反向代理Tomcat:
sudo vim /etc/nginx/sites-available/default # 修改Nginx配置文件(/etc/nginx/nginx.conf引用了此文件)
保存退出以后 sudo nginx -s reload 从新载入配置文件。
刷新浏览器
JS、CSS、图片等静态资源未加载,再次修改配置文件:
server {
listen 80;
server_name 127.0.0.1;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_redirect http://127.0.0.1:8080/ http://127.0.0.1/;
proxy_set_header Host $host;
proxy_hide_header Server;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 10;
proxy_send_timeout 10;
proxy_read_timeout 10;
proxy_intercept_errors on;
proxy_buffering off;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css|js|eot|svg|ttf|woff|woff2|properties|json)$ {
root /opt/apache-tomcat-9.0.22/webapps/ROOT;
if (-f $request_filename) {
expires 1d;
break;
}
# proxy_pass http://127.0.0.1:8080/;
}
}
sudo nginx -s reload #从新加载配置文件
刷新浏览器,页面完整加载:
可是个人Web项目静态资源又有问题了,按照修改了N遍仍是同样,还得继学习。
(内网透传,随时随地访问,真正的远程服务器)
还没开学,路由器用不了,开学配置好后再更。
1.vim安装错误:
解决方法:
sudo apt autoremove vim-common
sudo apt install vim
2.JavaWeb项目部署
Eclipse中右键Web项目工程,导出war包到电脑桌面
经过FTP上传到树莓派Tomcat web应用目录,Tomcat运行状态会自动解压:
登录浏览器测试:
3.有时间再写 如何搭载Windows IoT创建居家环境监控系统,并将数据传输到云端。