簡介:基於樹莓派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創建居家環境監控系統,並將數據傳輸到雲端。