使用樹莓派搭建網站伺服器【更新中】

来源:https://www.cnblogs.com/moegarn/archive/2019/12/26/12102894.html
-Advertisement-
Play Games

以下內容為使用樹莓派搭建伺服器的過程,因為個人還沒有搭建完成,所以僅更新出已完成的部分,至於未完成的部分,以後會持續更新。 具體環節分為這幾個階段: 1.給樹莓派安裝系統 2.使用電腦連接控並制樹莓派 3.配置網站伺服器環境 4.添加網站源碼 5.配置網站環境設置 【0x01:給樹莓派安裝系統】 我 ...


  以下內容為使用樹莓派搭建伺服器的過程,因為個人還沒有搭建完成,所以僅更新出已完成的部分,至於未完成的部分,以後會持續更新。

===========================================================

  具體環節分為這幾個階段:

      1.給樹莓派安裝系統

      2.使用電腦連接控並制樹莓派

      3.配置網站伺服器環境

      4.添加網站源碼

      5.配置網站環境設置

============================================================

 

【0x01:給樹莓派安裝系統】

  我是用的是樹莓派3B+一張16GB的MicroSD(就是手機記憶體卡),如果搭建的網站需要存儲文件,例如搭建網盤需要存儲用戶上傳的文件的話,建議準備一個稍微大一點的SD卡,這裡因為我只有一張16GB的SD卡,所以就用它來安裝樹莓派系統了。(建議卡的質量選的稍微好點,否則卡一旦損壞,系統就GG了,所有過程重新來一遍,很酸爽……)

  準備好MicroSD卡,在準備需要安裝的樹莓派系統,我給樹莓派安裝的是從官網下載的Ubuntu系統,從官網下載後,需要解壓出.img文件,這就是樹莓派的系統文件格式,我們一會兒就需要往卡裡燒寫這個.img文件。

  直接把.img文件放到MicroSD是不行的,我們需要使用專門的SD卡燒寫工具燒寫系統(就是把系統安裝到MicroSD卡的意思……),我使用的是Win32DiskImager.exe,當然,在燒寫系統之前需要格式化MicroSD卡,可以使用系統預設的格式化方法,也可以使用SDFormatter.exe來進行格式化,個人建議使用第二種方法進行格式化,因為在安裝完樹莓派系統後再讀MicroSD卡會出來兩個盤區,如果想重新燒寫樹莓派系統的話,就無法將MicroSD卡格式化成原來的空間大小,還是需要通過SDFormatter.exe來還原MicroSD卡空間大小,所以這裡就乾脆直接使用SDFormatter.exe。

  格式MicroSD卡具體過程和MicroSD卡燒寫系統具體過程可參考:http://www.waveshare.net/study/article-595-1.html

  (方法不唯一,均來自網路資源)

 

 

【0x02:使用電腦連接控並制樹莓派】

   安裝完樹莓派系統後,插卡,上電,等待一會兒,因為我的樹莓派沒有安裝屏幕,所以我就按照沒有屏幕的方式進行操作。

  既然沒有屏幕,那麼就需要使用PC端通過工具來連接並控制樹莓派,這裡就用到了兩個工具:

  ①Winscp:之後會用到它來進行文件傳輸,比如你改寫了網站文件,可以使用它來傳送文件給樹莓派。(當然,樹莓派上有U盤插口,可以使用U盤,但是個人感覺這是一個相對麻煩的過程……當然,若興趣可以自行百度瞭解……) 

  ②Xshell:之後主要使用它來連接樹莓派,所以樹莓派是男一,它就是男二(emm,那Winscp就算男三吧……)

  這裡就不提供下載連接了,因為兩個工具在網上非常容易找到。

  首先,我們需要使用Xshell連接樹莓派,找一根網線將樹莓派和電腦連接起來,如果是家裡的電腦連接著有線網,沒有多餘的網口,那麼就將樹莓派連接到路由器上。方法大致相同,如果在某些細節上仍有疑問,可自行百度其他相關教程看看是否可以解決(一般是可以解決的……)

  因為我是用的是無線網,所以我直接用網線把樹莓派連接到了電腦上,觀察一下樹莓派上的兩個網口燈是否亮起,兩個燈都基本保持亮著的狀態就表示樹莓派連接正常。

  在電腦端的cmd視窗下,輸入“arp -a”,查找樹莓派的地址。我的地址是"192.168.137.~",具體過程可參考:https://www.jianshu.com/p/6cd0e6434c12

  有些人使用putty工具連接樹莓派,也可以,還是那句話,方法不唯一。

【0x03:配置網站伺服器環境】

   成功連接上樹莓派後,根據樹莓派系統的不同,登陸系統的預設用戶密碼也會不同,例如樹莓派pi的的預設用戶是pi,預設密碼是raspberry,而樹莓派的ubuntu系統的預設登陸用戶密碼都是ubuntu,所以根據自己安裝的樹莓派系統類型自行上網百度搜索預設用戶密碼,非常容易找到。

  具體連接步驟可參考:http://www.waveshare.net/study/article-741-1.html(大多數人可能卡在了連接樹莓派的階段……找不到IP地址?登陸報錯?莫急,慢慢來……)

  若登陸上去之後,需要更新一下源,我是用的是ubuntu系統,我並沒有更改源,而是直接更新了,如果不是ubuntu系統可以選擇更換源,也可以選擇直接更新,為什麼這麼說呢?因為之前我燒寫了一個非ubuntu源,更新源,結果把系統搞廢了,最後裝的ubuntu……

  直接更新ubuntu源並沒有什麼問題,具體操作是:執行sudo apt-get update(所有都按y確認)、sudo apt-get upgrade、sudo apt-get dist-upgrade,一開始更新源可能是一個漫長的過程,所以需要耐心,等待三個指令執行都執行完畢後,執行reboot進行重啟(因為樹莓派重啟了,所以可能需要重新尋找IP地址並連接)重啟後沒有什麼問題,那麼我們開始準備進行下一個環節了,搭建網站伺服器環境。

 

【0x04:配置網站伺服器環境】

  我是按照這個教程進行搭建的,所以就不再費力照寫了,直接放出教程鏈接: https://www.cnblogs.com/yooe/p/5827866.html

  在按照這個鏈接配置時,提幾個遇到的問題:(當然,在此之前一定需要更新完源,否則很可能找不到需要下載安裝的工具包)

    ①不可否認,教程是會存在一定的時效性的,所以教程中寫的是安裝版本需要我們自行設置,例如以上教程中安裝的是php5或者php7,我安裝的則是php7.4.1,如果不確定安裝版本,以安裝php為例,可以執行sudo apt-get install php7,那麼,系統會根據當前源中所有的工具包版本給出你詳細的版本提示,然後你再次輸入sudo apt-get install php7.x.x,就可以進行安裝了,安裝過程中如果有其他問題,自行百度。(相信一個教程是不可能包含所有問題的解決方法的……)

  在進行到以上教程的第三步,安裝php的兩個庫時,我只執行了sudo apt-get install libapache2-mod-php,原因時在執行sudo apt-get install libapache2-mod-php5時提示未找到該工具包,以重覆以上尋找php版本的方法進行安裝。(若兩個庫按照教程正常安裝可忽略)

  在進行以上教程的第五步驟時,我沒有用nano,而是使用vim 打開了/etc/apache2/sites-available/000-default.conf,因為未設置為圖形化界面,所以沒有辦法使用gedit工具。

  在重啟Apache2時遇到了報錯,按照它的格式,我先執行了sudo service apache2 stop,然後執行了sudo service apache2 start,同樣實現了sudo service apache2 restart的效果,雖然我不知道為什麼直接restart報錯,不過之後在執行sudo service apache2 restart就好用了。

  執行完教程中的第六部後,可以往/var/www/目錄下放一張簡單的Index.html,然後複製樹莓派的ip地址直接在與樹莓派連接的電腦瀏覽器中打開,如果可以正常打開,就表示網站環境搭建的差不多了,當然網站僅允許內網訪問,也就是他人還無法直接訪問你的網站,之後會介紹一種方法來實現外網訪問內網網站。

  我從源碼網站找到了一個論壇網站源碼,一開始我按照第七部使用wget+空格+下載地址連接的方法成功將網站源碼下載到了樹莓派中,當然,在此之前ubuntu系統提示沒有wget工具,使用sudo apt-get install wget下載安裝wget,然後使用wget工具下載網站源碼,下載完後發現,網站源碼是一個壓縮包,我們需要解壓,我的這個壓縮包格式是.zip,當然還有其他格式,例如.rar、.gz等等,自行百度相關格式的壓縮包解壓方法。

  將網站源碼的所有內容直接解壓道/var/www/目錄下,註意,/var/www/目錄下直接放網站源碼的多個文件。舉例說明:

/var/www/文件夾/多個網站源碼文件  

/var/www/多個網站源碼文件  (這才是對的!)

 

【0x05:配置網站環境設置】

  當目前為止,網站環境已經搭建的差不多了,下麵複製樹莓派的IP地址,進行網站初始化配置,當然有些網站不需要初始話配置,但是,我使用的是論壇源碼,所以需要進行論壇初始化配置。

  在進行論壇配置的過程中,我發現網站打在環境檢測並沒有完全通過,有幾項沒有通過,其中包括必須支持的幾項,例如:gd庫、mysqli、pdo、pdo-mysql等,

  這裡發現個問題,就是我在安裝完gd庫之後,並重啟apach2,重新檢測環境,發現gd庫支持和pdo支持都通過了。同樣的,安裝mysqli(註意,這裡是mysqli)之後,發現mysqli支持和pdo-mysql支持也都通過了。

  安裝gd等庫的具體方法可參考:https://blog.csdn.net/qq_35038153/article/details/78409410

  需要註意的是php的版本要根據你安裝的PHP版本進行更改,以我為例,我安裝的php 版本是7.4.1,所以指令改成了apt-get install php7.4-gd,這裡我需要說明一下為什麼不直接寫 apt-get install php7-gd,而是 apt-get install php7.4-gd,這裡給出一個有關版本號的說明教程:https://blog.csdn.net/yaowanliang/article/details/90645736

7是版本號,4是功能號,所以我感覺需要些7.4,不過結果正如我所願,安裝完成。

  然後,就是配置網站資料庫,在這裡我遇到了提示“資料庫連接失敗,請重新設定”的問題,目前未解決。

 

 

==============================  

  【正持續更新中……】

==============================


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 場景 怎樣在Winform程式中添加滑鼠右鍵時使子選項顯示圖片。 註: 博客主頁: https://blog.csdn.net/badao_liumang_qizhi 關註公眾號 霸道的程式猿 獲取編程相關電子書、教程推送與免費下載。 實現 新建Winform程式,在Properties下的Reso ...
  • 代碼實現 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>L ...
  • 剛開始遇到這個問題時有點懵,UDP為什麼還有分啟動順序?看一下我遇到的錯誤: 先啟動serevr,再啟動client,雙方不管誰先發消息,正常; 先啟動server,再啟動client,之後關閉client,不關閉server,重新再啟動client,client先發消息異常, 先啟動client, ...
  • 場景 在使用ZedGraph生成多條曲線時為了能區分曲線顏色,要求隨機設置曲線顏色。 首先從System.Drawing.Color中獲取所有顏色的對象的數組,然後將其順序打亂隨機排序,然後在生成曲線時從Color數組中取Color並賦值。 效果 註: 博客主頁: https://blog.csdn ...
  • 場景 在ZedGraph隨機生成顏色時需要從顏色數組中取顏色對象。 Color數組存取的是System.Drawing.Color的顏色。 其順序是相鄰的顏色,顏色差距不大,在取顏色時按順序取顏色時,如果顏色條數比較少,差距會不明顯。 需要將此數組的順序打亂,隨機進行排序。 註: 博客主頁: htt ...
  • 場景 需要在生成一組多條曲線時,隨機從一顏色數組中取顏色,至少一百種顏色以上。 而System.Drawing.Color自帶140多種顏色 那麼怎樣將其自帶的顏色對象取出並存在數組中。 註: 博客主頁: https://blog.csdn.net/badao_liumang_qizhi 關註公眾號 ...
  • 在Windows10系統上搭建完深度學習環境用於無人駕駛中的目標檢測後,想在Linux系統上再嘗試一下。由於VMware虛擬機安裝的Linux系統不支持物理硬體,所以需要一步到位安裝一個雙系統。本文介紹如何安裝雙系統以及裝完系統後的輸入法和英偉達顯卡驅動配置。 1.安裝雙系統 詳細操作參考https ...
  • apue 上講 Solaris 系統是可以在進程間通過 STREAMS 管道傳遞文件句柄的。 書上講道:“在技術上,發送進程實際上向接收進程傳送一個指向一打開文件表項的指針,該指針被分配存放在接收進程的第一個可用描述符項中。” 個人非常感興趣,就寫下了下麵的兩個程式來驗證 STREAMS 管道是否支 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...