<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          用樹莓派構(gòu)建一臺(tái)服務(wù)器,永久運(yùn)行網(wǎng)站

          共 4516字,需瀏覽 10分鐘

           ·

          2020-08-14 12:50

          No.1

          前言



          由于本人在這段時(shí)候,看到了一個(gè)叫做樹莓派的東東,初步了解之后覺得很有意思,于是想把整個(gè)過(guò)程記錄下來(lái)。


          No.2

          樹莓派是什么?



          Raspberry Pi(中文名為樹莓派,簡(jiǎn)寫為 RPi,(或者 RasPi / RPI) 是為學(xué)習(xí)計(jì)算機(jī)編程教育而設(shè)計(jì)),只有信用卡大小的微型電腦,其系統(tǒng)基于 Linux。隨著 Windows 10 IoT 的發(fā)布,我們也將可以用上運(yùn)行 Windows 的樹莓派。

          自問世以來(lái),受眾多計(jì)算機(jī)發(fā)燒友和創(chuàng)客的追捧,曾經(jīng)一“派”難求。別看其外表“嬌小”,內(nèi)“心”卻很強(qiáng)大,視頻、音頻等功能通通皆有,可謂是麻雀雖小,五臟俱全。

          1. 用我的話理解


          用我的話理解就是樹莓派就是一臺(tái)主機(jī),你可以外接顯示器,鍵盤鼠標(biāo),u盤等等外設(shè),因?yàn)樗w積很小,而且又有很多串口和外接的口,可以直接調(diào)用很多底層硬件。

          2. 市面上的型號(hào)


          市面上大多是 3 代 B+ 型,淘寶一搜樹莓派一大堆都是,價(jià)錢純主板(不要任何外設(shè))在 230+ 左右,有點(diǎn)小貴,超過(guò)我的預(yù)算,所以我繼續(xù)尋找廉價(jià)的,終于讓我發(fā)現(xiàn)了一款 100+ 的樹莓派。

          3. 樹莓派 zero w


          樹莓派 zero w 是一款 mini 的樹莓派,體質(zhì)只有 3b+ 的 1/3。實(shí)際到手后,你會(huì)發(fā)現(xiàn)它真的超級(jí)小,超級(jí)可愛。以下是我的實(shí)物圖,你可以看看大小到底有多 mini。


          你可以看到,最上面是一根普通的黑色簽字筆,接下來(lái)是一個(gè)即插即用型的外接 wifi 網(wǎng)卡,然后是一個(gè) USB 讀卡器,最底下的就是我們今天的主角 zero w。它真的超級(jí)小,有木有。真的是完美的詮釋了那句“麻雀雖小,五臟俱全”的話。

          zero w?這款樹莓派的主要參數(shù)如下:

          ?? BCM2835 處理器,1GHz 主頻,512MB RAM
          ???BCM43438 WiFi / BT 芯片
          ???micro-USB 電源接口
          ???micro-USB OTG 接口
          ???miniHDMI 端口
          ???復(fù)合視頻和重置擴(kuò)展接口
          ???脆弱的 CSI 攝像頭接口
          ???micro-SD 卡座,存放操作系統(tǒng)
          ???40-pin GPIO 擴(kuò)展接口
          ???尺寸:65mm*30mm


          你別看它的 cpu 只有 1 核,內(nèi)存只有 512MB,就覺得它可能什么都做不了,但是實(shí)際上它的性能還是很好的,用于跑一個(gè)網(wǎng)站真的是小 case。


          4. 更多樹莓派


          關(guān)于更多樹莓派型號(hào)或者使用教程你可以去樹莓派實(shí)驗(yàn)室這個(gè)網(wǎng)站,上面有豐富的資源。


          No.3

          樹莓派zero w安裝系統(tǒng)


          1. 準(zhǔn)備


          你可能提前需要準(zhǔn)備的東西如下:

          ???16GB or 32GB 的 SanDisk 內(nèi)存卡(注意是以前那種放在手機(jī)上,很小的哦)
          ???一根最普通不過(guò)的 usb 安卓數(shù)據(jù)線(not type-c)
          ???u 盤格式化工具(推薦使用 SDFormatter)
          ???系統(tǒng)燒寫工具(Win32DiskImager)
          ???樹莓派系統(tǒng)(可以去官網(wǎng)下載)

          我使用的是 Raspbian Stretch Lite 這個(gè)系統(tǒng)鏡像,這個(gè)系統(tǒng)是官方制作的,lite 是無(wú)桌面版的,只有黑漆漆的控制臺(tái),優(yōu)點(diǎn)是體積小,省性能和內(nèi)存。

          名字帶有 desktop 的是有桌面 ui 的,對(duì)不熟悉 liunx 系統(tǒng)的朋友可能更友好,但是體積很大,占用的性能也會(huì)更高。

          2. 第一步下載系統(tǒng)鏡像


          下載好你需要的系統(tǒng)鏡像后,如下圖


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



          然后進(jìn)入文件夾可以看到一個(gè) img 的鏡像,大小為 1.7GB 左右。

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

          3. 使用 Win32DiskImager 往內(nèi)存卡中寫入鏡像



          把內(nèi)存卡插入讀卡器后,插入電腦。

          打開 Win32DiskImager 軟件后,選擇 img 鏡像,設(shè)備選擇你的 U 盤,然后點(diǎn)擊寫入就可以了,寫入完成后會(huì)彈出成功的提示框。

          ps: 我上圖沒有選擇設(shè)備,因?yàn)榈臎]插入讀卡器,僅僅是示范而已

          4. 修改 boot 分區(qū)的文件


          先別急著拔出讀卡器,此時(shí),我們電腦可以看到 u 盤中只有一個(gè)名為 boot 的分區(qū),大小可能只有 40MB 左右,不要著急,因?yàn)?window 不識(shí)別內(nèi)存卡中 liunx 系統(tǒng)的其他分區(qū)。?

          4.1 新建 ssh 文件


          因?yàn)槲覀兊?zero w 有一個(gè) mini hdmi 的接口,但是我不需要屏幕,所以需要使用 ssh 連接到 zero w 中的系統(tǒng),所以需要在第一次開機(jī)就能開啟 ssh 功能。

          我們進(jìn)入 boot 分區(qū)內(nèi),然后新建一個(gè)名為 ssh 的文件,注意不要后綴名!!!!也不要往里面寫任何東西!!

          4.2 新建 wpa_supplicant.conf 文件


          因?yàn)?ssh 連接是需要 ip 地址的,所以我們需要將 zero w 在第一次開機(jī)自動(dòng)連接 wifi,使其和我們的電腦處于一個(gè)局域網(wǎng),這樣我們才可以通過(guò) ssh 連接到 zero w 的系統(tǒng)。

          同樣的在 boot 分區(qū)內(nèi),新建一個(gè)名為 wpa_supplicant.conf 的文件,然后往里面寫入如下內(nèi)容后保存:

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

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

          5. 組裝我們的最小主機(jī)并連接


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

          等待幾分鐘,期間我們的 zero w 的指示燈會(huì)一直閃爍,很正常,等待指示燈常亮的時(shí)候,我們?nèi)ヂ酚善魃希榭匆幌聵漭傻?ip 地址。


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


          連接成功,如上圖所示。這樣我們的系統(tǒng)就正確無(wú)誤的安裝好了。

          ps: 如果是手機(jī)開啟熱點(diǎn)當(dāng)做一個(gè)路由器的話,咱們手機(jī)下載一個(gè)名叫 android terminal 的 app,然后輸入 ip neigh 指令,就可以查到連接到手機(jī)的設(shè)備的 ip 信息了。

          6. 優(yōu)化咱們樹莓派的系統(tǒng)

          6.1 修改源


          因?yàn)閲?guó)外的源,咱們?cè)趪?guó)內(nèi)的連接過(guò)去網(wǎng)速很慢,所以我們需要修改為國(guó)內(nèi)的源,我修改的是中科大的源。

          6.1.1 修改 sources.list 文件


          sudo?nano?/etc/apt/sources.list
          --注釋其他內(nèi)容,添加以下:
          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
          --注釋其他內(nèi)容,添加以下:
          deb?http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian?stretch?main?ui

          6.1.3 執(zhí)行更新

          sudo?apt-get?update
          sudo?apt-get?upgrade


          6.2 修改時(shí)區(qū)


          sudo?dpkg-reconfigure?tzdata

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

          6.3 開機(jī)自啟 ssh


          第一種:

          sudo?raspi-config

          進(jìn)入選擇找到 interfacing option 選擇,然后找到 ssh,按回車使能 enable 就可以了。

          第二種:

          在終端命令行中啟動(dòng) SSH 服務(wù)后,如果系統(tǒng)重啟或關(guān)機(jī)后啟動(dòng),SSH 服務(wù)默認(rèn)是關(guān)閉的,依然需要手動(dòng)啟動(dòng),為了方便可以設(shè)置 SSH 服務(wù)開機(jī)自動(dòng)啟動(dòng),打開 /etc/rc.local 文件,在語(yǔ)句 exit 0 之前加入:
          /etc/init.d/ssh start


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

          7. 安裝 nginx


          #安裝
          sudo?apt-get?install?nginx
          #啟動(dòng)
          sudo?/etc/init.d/nginx?start
          #重啟
          sudo?/etc/init.d/nginx?restart
          #停止
          sudo?/etc/init.d/nginx?stop

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

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


          可以正常的看到頁(yè)面了,但是這樣只能在內(nèi)網(wǎng)(局域網(wǎng)中)看到,我想讓所有人都可以訪問怎么辦?

          8. 內(nèi)網(wǎng)穿透


          內(nèi)網(wǎng)穿透,意思就是將內(nèi)網(wǎng)(本地)的 web 應(yīng)用通過(guò) nat 穿透到公網(wǎng)上,從而讓別人可以訪問到。

          內(nèi)網(wǎng)穿透目前主要由 ngrok 和 frp 兩種,都非常好用,國(guó)內(nèi) ngrok 免費(fèi)的有 ittun、sunny 和 natapp,這三個(gè)都是免費(fèi)的,前面兩個(gè)可以自定義域名,后面的需要 vip 版本才可以自定義域名。

          我這三種都試過(guò),我發(fā)現(xiàn) sunny 的 arm 版本的 ngrok 客戶端在我的樹莓派運(yùn)行不了,ittun 的和 natpp 的 ngrok 都可以,由于需要自定義域名,我使用的是 ittun 的 ngrok_arm 版本的。

          使用方法這三者官網(wǎng)都有詳細(xì)說(shuō)明,大家自行查看。

          這是正常運(yùn)行時(shí)的截圖,訪問 http://zerow.ittun.com/ 時(shí)可以...


          因?yàn)樾枰?ngrok 在后臺(tái)運(yùn)行,所以我用的是 screen 會(huì)話使其可以在后臺(tái)運(yùn)行。但是開啟自啟,還沒有實(shí)現(xiàn),萬(wàn)一斷電或者斷網(wǎng)了,我必須手動(dòng)去運(yùn)行一下 ngrok,這是目前沒有解決的痛點(diǎn)。

          9. 更多


          樹莓派不僅僅只是可以用于運(yùn)行一個(gè)網(wǎng)站,還有很多很多的功能等待你的開發(fā),可以多去看看樹莓派實(shí)驗(yàn)室里面,很多大神都寫了很多實(shí)用的教程。

          我的 zero w 狀態(tài)信息如下:


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


          鏈接:https://segmentfault.com/a/1190000021143144

          最后

          我整理的4本PDF文檔,本公眾號(hào)后臺(tái)回復(fù)“面試突擊”即可免費(fèi)獲取。

          最近在看《增長(zhǎng)黑客》,感覺還是挺不錯(cuò)的。待我看完之后,這一個(gè)簡(jiǎn)單的總結(jié)/書評(píng)分享出來(lái)。

          文章有幫助可以點(diǎn)個(gè)「在看」或「分享」,都是支持,我都喜歡!

          我是Guide哥,Java后端開發(fā),會(huì)一點(diǎn)前端知識(shí),喜歡烹飪,自由的少年。一個(gè)三觀比主角還正的技術(shù)人。我們下期再見!

          瀏覽 57
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  午夜视频久久久 | 色九九九 | 91精品国际 | 欧美.www | 欧美性猛交XXXX乱大交 |