使用樹莓派的定義和好處
網(wǎng)絡(luò)服務(wù)器是指利用HTTP及其他協(xié)議進行數(shù)據(jù)傳輸,處理通過萬維網(wǎng)提交的客戶端請求的軟硬件組合。網(wǎng)絡(luò)服務(wù)器的主要功能是存儲、處理并向客戶端(通常是網(wǎng)頁瀏覽器)傳送網(wǎng)頁。客戶端與服務(wù)器之間的交互遵循客戶端-服務(wù)器模型。
HTTP是用于在互聯(lián)網(wǎng)上傳輸超文本請求和信息的協(xié)議。它是網(wǎng)絡(luò)上任何數(shù)據(jù)交換的基礎(chǔ),用于在客戶端和服務(wù)器之間傳輸超文本請求和響應(yīng)。
HTTPS是HTTP的安全版本,其中客戶端和服務(wù)器之間的通信使用傳輸層安全(TLS)前身為安全套接層(SSL)進行加密。
最常見的網(wǎng)絡(luò)服務(wù)器包括Apache、Nginx和微軟的互聯(lián)網(wǎng)信息服務(wù)(IIS)。
樹莓派操作系統(tǒng)是基于Debian的操作系統(tǒng),為許多開發(fā)者提供了熟悉的環(huán)境,并支持廣泛的編程語言和框架。
使用樹莓派進行網(wǎng)絡(luò)托管的主要優(yōu)勢之一在于其成本效益。相比傳統(tǒng)服務(wù)器硬件,樹莓派價格顯著更低,為小型項目、個人網(wǎng)站或開發(fā)環(huán)境提供了經(jīng)濟實惠的解決方案。我們推薦使用較新型號,如配備四核CPU和8GB內(nèi)存的樹莓派。
應(yīng)用場景
本地網(wǎng)絡(luò)
僅在家庭或小型辦公室等本地網(wǎng)絡(luò)內(nèi)訪問網(wǎng)絡(luò)服務(wù)器。
外部網(wǎng)絡(luò)
在本地網(wǎng)絡(luò)中發(fā)布網(wǎng)絡(luò)服務(wù)器,以便從任何地方進行遠程訪問。
開發(fā)者部署
在本地網(wǎng)絡(luò)中配置一個或多個網(wǎng)絡(luò)服務(wù)器,與開發(fā)團隊共同開發(fā),并在生產(chǎn)網(wǎng)絡(luò)服務(wù)器上發(fā)布網(wǎng)站,以便遠程訪問。
實施步驟
在樹莓派上選擇Apache還是Nginx作為網(wǎng)絡(luò)服務(wù)器時,了解各自的優(yōu)缺點以及它們在樹莓派等資源有限硬件上的表現(xiàn)至關(guān)重要。
Apache
優(yōu)點:
成熟與普及:Apache是最古老、最廣泛使用的網(wǎng)絡(luò)服務(wù)器之一。它文檔齊全,擁有龐大的社區(qū)。
靈活性:Apache高度可配置,支持動態(tài)模塊加載,允許根據(jù)需要啟用或禁用功能。
兼容性:Apache與多種應(yīng)用程序兼容,包括許多流行的內(nèi)容管理系統(tǒng)(CMS),如WordPress、Joomla和Drupal。
htaccess支持:Apache支持.htaccess文件,允許進行目錄級別的配置。
缺點:
資源消耗:與Nginx相比,Apache可能更消耗資源,這在CPU和內(nèi)存有限的樹莓派上可能是一個問題。
性能:在高負載下,Apache的性能不如Nginx高效,尤其是在提供靜態(tài)內(nèi)容時。
Nginx
優(yōu)點:
性能:Nginx的特點之一是處理速度快,CPU資源消耗低。它能夠高效處理大量并發(fā)連接,是高流量網(wǎng)站或Web應(yīng)用程序的理想選擇。
事件驅(qū)動架構(gòu):Nginx采用事件驅(qū)動、異步架構(gòu),比Apache的基于進程的模型更具可擴展性和效率。
靜態(tài)內(nèi)容:Nginx擅長快速高效地提供靜態(tài)內(nèi)容(如圖像、CSS、JavaScript)。
反向代理和負載均衡:Nginx經(jīng)常用作其他網(wǎng)絡(luò)服務(wù)器或應(yīng)用程序的反向代理和負載均衡器,以分配流量并提高性能。
缺點:
配置復(fù)雜性:與Apache相比,Nginx的配置對初學(xué)者來說可能不太直觀。然而,一旦掌握,它既強大又靈活。
缺乏.htaccess支持:Nginx不支持.htaccess文件。所有配置必須在主配置文件中完成,這對某些用戶來說可能不太方便。
樹莓派上的性能表現(xiàn):
雖然Apache能夠在樹莓派上運行,但由于其資源消耗較高,在高負載下可能表現(xiàn)不佳。它更適合中小型項目或當(dāng)與特定應(yīng)用程序的兼容性是首要考慮因素時。
Nginx因其內(nèi)存占用低且能夠高效處理靜態(tài)內(nèi)容,通常是樹莓派的首選。它更適合需要高并發(fā)和低延遲的高流量網(wǎng)站或應(yīng)用程序。
應(yīng)用場景
請選擇Apache,如果需要廣泛的應(yīng)用程序兼容性、使用.htaccess進行目錄級別配置,或者已經(jīng)熟悉其配置和模塊系統(tǒng)。
請選擇Nginx,如果需要輕量級、高性能的網(wǎng)絡(luò)服務(wù)器,能夠處理大量并發(fā)連接并高效提供靜態(tài)內(nèi)容,它也是設(shè)置反向代理或負載均衡器的不錯選擇。
Nginx
安裝與基本配置
1.將Raspberry Pi Imager下載并安裝到帶有SD卡讀卡器的計算機上。將您要用于樹莓派的SD卡插入讀卡器,并啟動Raspberry Pi Imager。
https://www.raspberrypi.com/software/
2.選擇樹莓派設(shè)備。
3.選擇Raspberry Pi OS,并將系統(tǒng)寫入您的樹莓派。
4.將SD卡插入樹莓派并通電啟動。
5.打開終端并運行以下命令更新系統(tǒng):
sudoapt updatesudo apt upgrade
6. 安裝 Nginx:
sudoapt install nginx
7.在網(wǎng)頁瀏覽器中導(dǎo)航到樹莓派的IP地址,查看Nginx歡迎頁面以進行檢查。
樹莓派“定居”完全指南:一鍵設(shè)置靜態(tài)IP,穩(wěn)定又高效!
8.您可以在以下文件夾和文件中啟動Web服務(wù)器項目:
● /etc/nginx/nginx.conf: File with Nginx configurations
● /etc/nginx/sites-available/: Folder with websites configurations
● /etc/nginx/sites-enabled/: Folder with websites enable to access.
9.要從本地網(wǎng)絡(luò)外部訪問您的網(wǎng)絡(luò)服務(wù)器,您需要在路由器上設(shè)置端口(80:HTTP或443:HTTPS)轉(zhuǎn)發(fā),并使用網(wǎng)頁瀏覽器訪問:http://<您的樹莓派IP>。
監(jiān)控
1.啟用Nginx狀態(tài)頁面
Nginx內(nèi)置了一個狀態(tài)模塊,可用于監(jiān)控基本指標(biāo)。要啟用它:
sudo nano/etc/nginx/sites-available/default
在服務(wù)器塊內(nèi)添加:
location /nginx_status { stub_status; allow 127.0.0.1;# Only allow requests from localhost deny all;# Deny all other requests}
測試配置并重啟Nginx:
sudonginx -tsudo systemctl restart nginx
您現(xiàn)在可以通過訪問http://<您的樹莓派IP>/nginx_status來查看狀態(tài)頁面。
2.監(jiān)控工具
使用htop和top:這些工具提供系統(tǒng)資源的實時監(jiān)控:
sudoapt install htophtop
設(shè)置日志監(jiān)控:
Nginx記錄請求和錯誤,可以使用tail等工具進行監(jiān)控:
tail-f /var/log/nginx/access.logtail-f /var/log/nginx/error.log
安全考慮
要進行安全設(shè)置,請編輯Nginx配置文件:nano /etc/nginx/nginx.conf或網(wǎng)站配置文件:nano /etc/nginx/site-available/example.conf
配置Nginx使用SSL
使用Let’s Encrypt獲取免費SSL證書:
sudo apt-getinstall certbot python3-certbot-nginxsudo certbot--nginx
按照提示為您的域名設(shè)置SSL。這將自動配置Nginx使用HTTPS。
限制請求大小
通過限制客戶端請求大小來防止某些類型的攻擊:
server{ client_max_body_size1M;}
● 隱藏Nginx版本
編輯Nginx配置以隱藏版本號:
http{ server_tokensoff;}
● 基本安全頭
在Nginx配置中添加安全頭:
server{ add_headerX-Content-Type-Options nosniff; add_headerX-Frame-Options"SAMEORIGIN"; add_headerX-XSS-Protection"1; mode=block";}
性能優(yōu)化
要進行性能優(yōu)化設(shè)置,請編輯Nginx配置文件:nano /etc/nginx/nginx.conf
● 使用高效日志記錄
減少日志記錄以節(jié)省CPU和磁盤I/O。您可以關(guān)閉訪問日志或降低日志級別:
http{ access_logoff; error_log/var/log/nginx/error.logcrit;}
● 啟用Gzip壓縮
啟用Gzip壓縮可減小響應(yīng)大?。?/p>
http { gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;}
● 緩存靜態(tài)內(nèi)容
設(shè)置靜態(tài)內(nèi)容緩存以減少負載:
http{ includemime.types; default_typeapplication/octet-stream; sendfileon; tcp_nopushon; tcp_nodelayon; keepalive_timeout65; types_hash_max_size2048; include/etc/nginx/conf.d/*.conf; include/etc/nginx/sites-enabled/*; open_file_cachemax=1000inactive=20s; open_file_cache_valid30s; open_file_cache_min_uses2; open_file_cache_errorson;}
● 優(yōu)化緩沖區(qū)和超時
調(diào)整緩沖區(qū)大小和超時以更好地適應(yīng)樹莓派有限的內(nèi)存:
http{ client_body_buffer_size10K; client_header_buffer_size1k; client_max_body_size8m; large_client_header_buffers21k; send_timeout2; client_body_timeout10; client_header_timeout10; keepalive_timeout55; }
● 限制連接速率
通過限制新連接的速率來保護服務(wù)器免受攻擊:
nginxhttp { limit_conn_zone$binary_remote_addrzone=addr:10m; server{ limit_connaddr20; }}
實際應(yīng)用示例
文件共享和備份服務(wù)器
使用樹莓派作為簡單的文件服務(wù)器,共享文件和備份重要數(shù)據(jù)。示例:在樹莓派上運行Samba服務(wù)器,提供網(wǎng)絡(luò)附加存儲(NAS)功能。示例:Nextcloud
物聯(lián)網(wǎng)數(shù)據(jù)記錄
收集和可視化來自各種物聯(lián)網(wǎng)設(shè)備和傳感器的數(shù)據(jù)。示例:一個氣象站項目,使用在Nginx下運行的Domoticz將溫度、濕度和其他環(huán)境數(shù)據(jù)記錄到在樹莓派上運行的網(wǎng)絡(luò)服務(wù)器上。
個人網(wǎng)站或博客
在樹莓派上托管個人網(wǎng)站或博客。這是展示作品或分享想法的好方法,無需依賴第三方托管服務(wù)。示例:使用Nginx和Wordpress在樹莓派上托管使用HTML/CSS構(gòu)建的個人作品集網(wǎng)站。
結(jié)論
將樹莓派設(shè)置為網(wǎng)絡(luò)服務(wù)器是一種經(jīng)濟高效且多功能的解決方案,適用于各種項目。無論您是托管個人網(wǎng)站、管理物聯(lián)網(wǎng)數(shù)據(jù)還是開發(fā)應(yīng)用程序,樹莓派都提供了一個強大的平臺,可以根據(jù)您的需求進行定制。通過遵循本指南中概述的步驟,您可以成功配置和優(yōu)化服務(wù)器,以實現(xiàn)性能和安全性。充分利用樹莓派的靈活性,探索它在網(wǎng)絡(luò)托管及其他領(lǐng)域提供的無限可能性。
原文地址:
https://www.sunfounder.com/blogs/news/how-to-set-up-a-raspberry-pi-web-server-a-comprehensive-guide
-
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7147瀏覽量
125572 -
網(wǎng)絡(luò)服務(wù)器
+關(guān)注
關(guān)注
0文章
33瀏覽量
11180 -
樹莓派
+關(guān)注
關(guān)注
121文章
2005瀏覽量
107448
發(fā)布評論請先 登錄
網(wǎng)絡(luò)服務(wù)器的工作原理是什么?
LoRaWAN網(wǎng)絡(luò)服務(wù)器有哪些應(yīng)用
是否可以更改stm32H743網(wǎng)絡(luò)服務(wù)器上的html文件以便能夠訪問其他類似的網(wǎng)絡(luò)服務(wù)器呢?
ESP訪問網(wǎng)絡(luò)服務(wù)器失敗的原因?
怎樣使用與softAP相同的ESP32來連接網(wǎng)絡(luò)服務(wù)器呢?
如何從一個網(wǎng)頁控制多個網(wǎng)絡(luò)服務(wù)器?
網(wǎng)絡(luò)服務(wù)器,網(wǎng)絡(luò)服務(wù)器工作原理是什么?
基于OPNET實現(xiàn)跨層網(wǎng)絡(luò)服務(wù)器模型的構(gòu)型

關(guān)于網(wǎng)絡(luò)服務(wù)器的安全維護技巧
云服務(wù)器和網(wǎng)絡(luò)服務(wù)器之間的區(qū)別是怎樣的
基于網(wǎng)絡(luò)服務(wù)器的物聯(lián)網(wǎng)門鎖系統(tǒng)

用ESP32制作網(wǎng)絡(luò)服務(wù)器

IzoT 網(wǎng)絡(luò)服務(wù)器數(shù)據(jù)表

IzoT 網(wǎng)絡(luò)服務(wù)器數(shù)據(jù)表

LoRaWAN網(wǎng)關(guān)與常見網(wǎng)絡(luò)服務(wù)器的協(xié)議

評論