選擇web服務器,主要從以下方面考慮:
1、 web服務器頁面編寫支持的語言
2、 web服務器的空間占用大小
3、 web服務器提供的功能, 是否支持https、運行日志
4、 web服務器的安全性,漏洞是否更多
5、web服務器的頁面實現難易程度
6、 web服務器的交叉編譯難度
嵌入式web服務器的比較:
https://www.cnblogs.com/lidabo/p/4736447.html, 現實生活中自己接解的web服務器有boa、appweb、goahead、uhttpd。
boa:
boa 官網: http://www.boa.org, boa支持C語言的web服務器,是自己2018年當嵌入式講師時,給學生移植服務器的boa, 2005已經后基本沒有維護, 支持功能較少,不支持https、ssl等特性。
boa的源碼與移植說明: 主要支持CGI的方式都可以在boa服務器上運行, C語言通過cgic進行編譯, php語言通過php編譯出支持cgi的方式
appweb:
1、apache的縮小版, 配置方式與apache類似, 支持php、cgi、esp, 支持https、ssl功能, 交叉編譯難度不高, appweb自身漏洞方面不是很多,漏洞方面更多的是與cgi配合使用的解釋型語言
2、 appweb官網: https://www.embedthis.com/appweb/
3、 移植說明: 下載appweb源碼,看源碼的doc目錄進行操作
goahead:
1、跟boa類似,比boa強大, 支持php、asp、cgi, 支持https、ssl功能,交叉編譯難度不高, 漏洞不是很多
2、官網:https://www.embedthis.com/goahead/ 跟appweb是同家公司維護
3、移植說明: 下載goahead源碼, 看源碼的doc目錄進行操作
uhttpd:
1、openwrt 自身實現的web服務器, 支持https 和 ssl, 沒有試過單獨移植,openwrt自帶有完整的生態環境,直接配置就可以編譯使用, 支持cgi、php、lua、cgi
疑問:
1、如果goahed支持cgi, 而php也是標准cgi, 如何實現goahead上加入php的支持