秀!搭建一個永久運行的個人伺服器!

2021-12-24 人工智慧愛好者社區
一、樹莓派是什麼?

Raspberry Pi(中文名為樹莓派,簡寫為 RPi,(或者 RasPi / RPI) 是為學習計算機編程教育而設計),只有信用卡大小的微型電腦,其系統基於 Linux。隨著 Windows 10 IoT 的發布,我們也將可以用上運行 Windows 的樹莓派。

自問世以來,受眾多計算機發燒友和創客的追捧,曾經一「派」難求。別看其外表「嬌小」,內「心」卻很強大,視頻、音頻等功能通通皆有,可謂是麻雀雖小,五臟俱全。

1. 用我的話理解

用我的話理解就是樹莓派就是一臺主機,你可以外接顯示器,鍵盤滑鼠,u盤等等外設,因為它體積很小,而且又有很多串口和外接的口,可以直接調用很多底層硬體。

2. 市面上的型號

市面上大多是 3 代 B+ 型,淘寶一搜樹莓派一大堆都是,價錢純主板(不要任何外設)在 230+ 左右,有點小貴,超過我的預算,所以我繼續尋找廉價的,終於讓我發現了一款 100+ 的樹莓派。

3. 樹莓派 zero w

樹莓派 zero w 是一款 mini 的樹莓派,體質只有 3b+ 的 1/3。實際到手後,你會發現它真的超級小,超級可愛。以下是我的實物圖,你可以看看大小到底有多 mini。

你可以看到,最上面是一根普通的黑色籤字筆,接下來是一個即插即用型的外接 wifi 網卡,然後是一個 USB 讀卡器,最底下的就是我們今天的主角 zero w。它真的超級小,有木有。真的是完美的詮釋了那句「麻雀雖小,五臟俱全」的話。

zero w 這款樹莓派的主要參數如下:

• BCM2835 處理器,1GHz 主頻,512MB RAM

• BCM43438 WiFi / BT 晶片

• micro-USB 電源接口

• micro-USB OTG 接口

• miniHDMI 埠

• 複合視頻和重置擴展接口

• 脆弱的 CSI 攝像頭接口

• micro-SD 卡座,存放作業系統

• 40-pin GPIO 擴展接口

• 尺寸:65mm*30mm

你別看它的 cpu 只有 1 核,內存只有 512MB,就覺得它可能什麼都做不了,但是實際上它的性能還是很好的,用於跑一個網站真的是小 case。

4. 更多樹莓派

關於更多樹莓派型號或者使用教程你可以去樹莓派實驗室這個網站,上面有豐富的資源。

二、 樹莓派zero w安裝系統1. 準備

你可能提前需要準備的東西如下:

• 16GB or 32GB 的 SanDisk 內存卡(注意是以前那种放在手機上,很小的哦)

• 一根最普通不過的 usb 安卓數據線(not type-c)

• u 盤格式化工具(推薦使用 SDFormatter)

• 系統燒寫工具(Win32DiskImager)

• 樹莓派系統(可以去官網下載)

我使用的是 Raspbian Stretch Lite 這個系統鏡像,這個系統是官方製作的,lite 是無桌面版的,只有黑漆漆的控制臺,優點是體積小,省性能和內存。

名字帶有 desktop 的是有桌面 ui 的,對不熟悉 liunx 系統的朋友可能更友好,但是體積很大,佔用的性能也會更高。

2. 第一步下載系統鏡像

下載好你需要的系統鏡像後,如下圖

一開始只有一個 zip 的壓縮包,大小大概 360MB 左右,你需要把它解壓,得到上圖的文件夾。

然後進入文件夾可以看到一個 img 的鏡像,大小為 1.7GB 左右。

ps:這個官方的 Raspbian 鏡像,如果是其他第三方的鏡像,可能下載後的壓縮包解壓後不是 img 鏡像,這種情況請另行百度解決。

3. 使用 Win32DiskImager 往內存卡中寫入鏡像

把內存卡插入讀卡器後,插入電腦。

打開 Win32DiskImager 軟體後,選擇 img 鏡像,設備選擇你的 U 盤,然後點擊寫入就可以了,寫入完成後會彈出成功的提示框。

ps: 我上圖沒有選擇設備,因為的沒插入讀卡器,僅僅是示範而已

4. 修改 boot 分區的文件

先別急著拔出讀卡器,此時,我們電腦可以看到 u 盤中只有一個名為 boot 的分區,大小可能只有 40MB 左右,不要著急,因為 window 不識別內存卡中 liunx 系統的其他分區。

4.1 新建 ssh 文件

因為我們的 zero w 有一個 mini hdmi 的接口,但是我不需要屏幕,所以需要使用 ssh 連接到 zero w 中的系統,所以需要在第一次開機就能開啟 ssh 功能。

我們進入 boot 分區內,然後新建一個名為 ssh 的文件,注意不要後綴名!!!!也不要往裡面寫任何東西!!

4.2 新建 wpa_supplicant.conf 文件

因為 ssh 連接是需要 ip 地址的,所以我們需要將 zero w 在第一次開機自動連接 wifi,使其和我們的電腦處於一個區域網,這樣我們才可以通過 ssh 連接到 zero w 的系統。

同樣的在 boot 分區內,新建一個名為 wpa_supplicant.conf 的文件,然後往裡面寫入如下內容後保存:

country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="你的wifi名字"
    psk="你的wifi密碼"
}

5. 組裝我們的最小主機並連接

取出讀卡器中的內存卡,然後插入到 zero w 中,使用一根 usb 安卓數據線連接電源(5V1A)即可。

等待幾分鐘,期間我們的 zero w 的指示燈會一直閃爍,很正常,等待指示燈常亮的時候,我們去路由器上,查看一下樹莓派的 ip 地址。

可以看到我們 zero w 的 ip 為 192.168.0.104,然後使用 ssh 連接工具(推薦使用 putty)連接樹莓派,初始帳戶為 pi,密碼是 raspberry。

連接成功,如上圖所示。這樣我們的系統就正確無誤的安裝好了。

ps: 如果是手機開啟熱點當做一個路由器的話,咱們手機下載一個名叫 android terminal 的 app,然後輸入 ip neigh 指令,就可以查到連接到手機的設備的 ip 信息了。

6. 優化咱們樹莓派的系統6.1 修改源

因為國外的源,咱們在國內的連接過去網速很慢,所以我們需要修改為國內的源,我修改的是中科大的源。

6.1.1 修改 sources.list 文件
sudo nano /etc/apt/sources.list
--注釋其他內容,添加以下:
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/raspbian stretch main contrib non-free rpi

6.1.2 修改 raspi.list 文件
sudo nano /etc/apt/sources.list.d/raspi.list
--注釋其他內容,添加以下:
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian stretch main ui
6.1.3 執行更新
sudo apt-get update
sudo apt-get upgrade

6.2 修改時區
sudo dpkg-reconfigure tzdata

找到亞洲 Asia,然後選擇 shanghai 就可以了。

6.3 開機自啟 ssh

第一種:

sudo raspi-config

進入選擇找到 interfacing option 選擇,然後找到 ssh,按回車使能 enable 就可以了。

第二種:

在終端命令行中啟動 SSH 服務後,如果系統重啟或關機後啟動,SSH 服務默認是關閉的,依然需要手動啟動,為了方便可以設置 SSH 服務開機自動啟動,打開 /etc/rc.local 文件,在語句 exit 0 之前加入:/etc/init.d/ssh start

建議都試試,反之我的是可以了。

7. 安裝 nginx
#安裝
sudo apt-get install nginx
#啟動
sudo /etc/init.d/nginx start
#重啟
sudo /etc/init.d/nginx restart
#停止
sudo /etc/init.d/nginx stop

打開瀏覽器訪問 192.168.0.104(你的樹莓派 ip 地址),可以看到 nginx 的頁面,說明安裝好了。

我這邊上傳了我的博客,如下圖

可以正常的看到頁面了,但是這樣只能在內網(區域網中)看到,我想讓所有人都可以訪問怎麼辦?

8. 內網穿透

內網穿透,意思就是將內網(本地)的 web 應用通過 nat 穿透到公網上,從而讓別人可以訪問到。

內網穿透目前主要由 ngrok 和 frp 兩種,都非常好用,國內 ngrok 免費的有 ittun、sunny 和 natapp,這三個都是免費的,前面兩個可以自定義域名,後面的需要 vip 版本才可以自定義域名。

我這三種都試過,我發現 sunny 的 arm 版本的 ngrok 客戶端在我的樹莓派運行不了,ittun 的和 natpp 的 ngrok 都可以,由於需要自定義域名,我使用的是 ittun 的 ngrok_arm 版本的。

使用方法這三者官網都有詳細說明,大家自行查看。

這是正常運行時的截圖,訪問 http://www.algomooc.com/ 時可以...

因為需要 ngrok 在後臺運行,所以我用的是 screen 會話使其可以在後臺運行。但是開啟自啟,還沒有實現,萬一斷電或者斷網了,我必須手動去運行一下 ngrok,這是目前沒有解決的痛點。

9. 更多

樹莓派不僅僅只是可以用於運行一個網站,還有很多很多的功能等待你的開發,可以多去看看樹莓派實驗室裡面,很多大神都寫了很多實用的教程。

這個zero w 狀態信息如下:

在上面開啟了一個 nginx 和 ngrok 服務,內存剩餘還有 250MB,還是很舒服的,cpu 溫度也不算高,運行兩天了,基本在 37-39 之間。

作者 | 彭小呆 來源 | https://segmentfault.com/a/1190000021143144

相關焦點

  • 從0到1搭建一臺屬於個人的伺服器,永久可運行!
    東東,可以自己搭建一臺永久運行的個人伺服器,由於本人在這段時候,看到了一個叫做樹莓派的東東,初步了解之後覺得很有意思,於是想把整個過程記錄下來。ps: 如果是手機開啟熱點當做一個路由器的話,咱們手機下載一個名叫 android terminal 的 app,然後輸入 ip neigh 指令,就可以查到連接到手機的設備的 ip 信息了。輕而易舉的手擼了一個HTTP圖片資源伺服器!6. 優化咱們樹莓派的系統6.1 修改源因為國外的源,咱們在國內的連接過去網速很慢,所以我們需要修改為國內的源,我修改的是中科大的源。
  • 如何搭建個人的家庭伺服器
    2000元可以組一臺還不錯個人伺服器,比如銳龍5600G的小主機成本不到3000元,但性能和同價位的NAS已不在一個段位;如果你的目標是真正的商用伺服器。那麼機架式伺服器、刀片伺服器、塔式伺服器這幾類,適合家用的還是塔式伺服器。塔式伺服器和家用電腦的主機差不多大。可以了解一下戴爾的Power Edge系列、惠普的 MicroServer Gen系列。
  • 伺服器搭建wordpress個人站點,簡單步驟介紹
    既然是和網際網路上搭乘飛機,那麼需要一臺性能足夠強壯的伺服器用於運行;網際網路的廣域網需要用到域名綁定ip地址方便人們記憶並訪問,國內cnnic負責運行和管理國家頂級域名.cn、中文域名系統,由此我選購了國內頂級域名後綴為.cn的域名。選購伺服器,廠商一般在節日的時候會推出各類促銷活動,以優惠的價格可以購買一臺性能足以支持一般網絡文章發表的伺服器。
  • 如何搭建一臺永久運行的個人伺服器?
    圖片你可以看到,最上面是一根普通的黑色籤字筆,接下來是一個即插即用型的外接 wifi 網卡,然後是一個 USB 讀卡器,最底下的就是我們今天的主角 zero w。它真的超級小,有木有。ps: 如果是手機開啟熱點當做一個路由器的話,咱們手機下載一個名叫 android terminal 的 app,然後輸入 ip neigh 指令,就可以查到連接到手機的設備的 ip 信息了。6.
  • 永久運行的個人伺服器,分分鐘搭建一臺!
    你可以看到,最上面是一根普通的黑色籤字筆,接下來是一個即插即用型的外接 wifi 網卡,然後是一個 USB 讀卡器,最底下的就是我們今天的主角 zero w。它真的超級小,有木有。真的是完美的詮釋了那句「麻雀雖小,五臟俱全」的話。
  • 如何組裝、搭建一臺永久運行的個人伺服器?
    隨著Windows 10 IoT的發布,我們也將可以用上運行Windows的樹莓派。自問世以來,受眾多計算機發燒友和創客的追捧,曾經一「派」難求。別看其外表「嬌小」,內「心」卻很強大,視頻、音頻等功能通通皆有,可謂是麻雀雖小,五臟俱全。
  • 如何用自己的電腦做伺服器搭建個人網站?
    看到別人形形色色的網站是不是也想自己搭建一個自己的網站呢?無論是不想用雲主機,還是安全隱私的保密要求,需要用自己電腦作為伺服器搭建網站!
  • 想自己搭建個人伺服器,永久運行網站?一個 U 盤就夠了!
    隨著 Windows 10 IoT 的發布,我們也將可以用上運行 Windows 的樹莓派。自問世以來,受眾多計算機發燒友和創客的追捧,曾經一「派」難求。別看其外表「嬌小」,內「心」卻很強大,視頻、音頻等功能通通皆有,可謂是麻雀雖小,五臟俱全。1.
  • 用樹莓派搭建個人伺服器,永久運行網站
    隨著 Windows 10 IoT 的發布,我們也將可以用上運行 Windows 的樹莓派。自問世以來,受眾多計算機發燒友和創客的追捧,曾經一「派」難求。別看其外表「嬌小」,內「心」卻很強大,視頻、音頻等功能通通皆有,可謂是麻雀雖小,五臟俱全。1.
  • 一起搭建個永久運行的個人伺服器吧!
    你可以看到,最上面是一根普通的黑色籤字筆,接下來是一個即插即用型的外接 wifi 網卡,然後是一個 USB 讀卡器,最底下的就是我們今天的主角 zero w。它真的超級小,有木有。真的是完美的詮釋了那句「麻雀雖小,五臟俱全」的話。
  • NAS網絡伺服器搭建教程:個人存儲伺服器怎樣搭建才最好用?
    作為一個科技博主,接下來我會分為三部分,跟大家分別聊一聊智能家居、路由器和NAS的搭建和選擇。NAS全稱是Network Attached Storage,說人話就是你自己的網絡伺服器,又叫私有雲。 我覺得現在到了最適合搭設個人存儲伺服器的時機。為什麼呢?因為5G時代到來了!(哈哈,是不是有點像路由器?)
  • 搭建你的第一個個人數據伺服器1.0
    為大家帶來了簡單易懂適合所有人的資料庫搭建教程。資料庫離我們其實並不遙遠讓我們一起行動起來吧各位小夥伴們要做的第一步是關於配置環境的下載安裝的一系列工作。我們在此只需要分別對Apache和Mysql標籤後的  『Start』進行單擊操作,從而啟動有關本地伺服器和資料庫的運行。再選擇Mysql標籤後的『admin』按鈕進行單擊操作。就可以進入我們的圖形化本地資料庫管理界面啦。
  • FTP伺服器的搭建
    FTP伺服器是在網際網路上提供文件存儲和訪問服務的計算機,我們可以上傳文件到伺服器供其他人拷貝,它們依照FTP協議提供服務。 FTP是File Transfer Protocol(文件傳輸協議)。顧名思義,就是專門用來傳輸文件的協議。簡單地說,支持FTP協議的伺服器就是FTP伺服器。        FTP伺服器的搭建有很多方式。
  • 如何用樹莓派搭建個人 web 伺服器
    個人 Web 伺服器即 「雲」,只不過是你擁有和控制它,而不是一個大型公司。
  • 黑客教你搭一個永久運行的個人伺服器!
    圖片你可以看到,最上面是一根普通的黑色籤字筆,接下來是一個即插即用型的外接 wifi 網卡,然後是一個 USB 讀卡器,最底下的就是我們今天的主角 zero w。它真的超級小,有木有。真的是完美的詮釋了那句「麻雀雖小,五臟俱全」的話。
  • Node.js搭建一個簡單的伺服器
    Node.js的安裝了解Node.js模塊系統伺服器的搭建
  • 手把手教你搭建一個Git伺服器
    http://gitblit.github.io/gitblit/6、在C盤中,創建一個空文件夾,取名為Git,在Git文件夾下再創建一個空文件夾,取名為GitRepository,然後將下載好的Gitblit解壓到Git文件夾中,最終效果如下:
  • 通過ProGet搭建一個內部的Nuget伺服器
    .NET Core項目完全使用Nuget 管理組件之間的依賴關係,Nuget已經成為.NET 生態系統中不可或缺的一個組件,從項目角度,將項目中各種組件的引用統統交給NuGet,添加組件/刪除組件/以及更新組件即可一鍵完成,大大提升工作效率,減少不必要的引用報錯。
  • 手把手搭建個人博客(圖文教程)
    首先我們談一談搭建個人博客必要性,個人認為在學習過程中,被動接受知識對你的提高是輕微的。可見搭建個人博客是非常有必要的,很多讀者很早就要求我發一篇搭建個人博客的文章,由於個人時間願意本來想直接轉載,但是在自己實際操作中遇到很多坑,浪費不少時間,都是把主要步驟給出且時間久遠,沒有詳細的圖文配合。
  • 如何搭建個人博客網站
    常言道,與天爭,爭了個天道無常,與世爭,爭了個世事滄桑,與人爭,爭了個人心叵測,何不坦坦蕩蕩、瀟瀟灑灑的過活這一生呢。今天想分享如何搭建個人博客網站,程式設計師多多少少也該有一個自己的博客網站,一方面是為了記錄自己的工作總結,或是學習記錄,另一方面,一種寫作能力的積累能幫助你走的更遠。