乳尖春药H糙汉共妻,国产成人无码精品亚洲,少妇肉欲系列1000篇,免费永久看黄神器

行業動態

真香~用舊手機自制了一臺 Web 服務器....

作者:admin 日期:2023-09-12 瀏覽:

真香~用舊手機自制了一臺 Web 服務器....

作者:Leonardo Brito

https://lbrito1.github.io/blog/2020/02/repurposing-android.html


你一定有安卓舊手機吧?每年都有大量的電子垃圾被扔掉,在發達國家,平均每個人每隔幾年都要扔掉一臺手機,而廢棄的手機是最大的電子垃圾來源。

我有一臺在角落兜灰的舊摩托羅拉G5 Cedric,所以我決定用它來做點什么。現在,我利用它運行一個Puma Web服務器,上面跑著一個簡單的Sinatra應用。


在進一步介紹之前,你也許會想:這有什么實際的用途嗎?一臺舊的安卓手機可能并不會有太高的性能,但t2.nano的AWS服務器也沒有。我還沒有在安卓上部署任何“真正”的代碼,但即使是最廉價的手機,一般也都有四核甚至八核CPU,至少2GB內存,所以理論上手機性能幾乎接近最先進的云服務器(例如t2.nano就只有512MB內存)。


當然,手機的處理器是ARM,而云服務器通常是x86;內存管理也完全不同。不過我們這里只是粗略估計一下。


不論如何,這篇文章的目的是介紹如何將安卓設備改造成Web服務器或任何其他東西。



首先我們需要在手機上設置一個Linux環境。Termux是一個運行在安卓上的終端模擬器和Linux環境,可以直接從谷歌應用商店下載。安裝完成后不需要任何配置。


上海數據恢復


你肯定不想在手機的小屏幕上輸入大量命令,所以我們來設置一下ssh,這樣就可以遠程登錄Termux了。


方法實現有幾種,但我認為最方便的是通過一個名為Dropbear的軟件。


首先在安卓上運行:

pkg upgrade
pkg install dropbear

你可以選擇密碼認證,也可以選擇公鑰認證。雖然推薦使用公鑰認證,但作為嘗試的話,密碼認證是最簡單的。運行以下命令:

passwd
New password:
Retype new password:
New password was successfully set.

小貼士:可以安裝一個終端復用程序,如tmux或screen。這樣通過ssh運行程序時非常方便:

pkg install tmux

接下來,在臺式機或筆記本上測試連接:

ssh android-ip-address -p 8022


進入WiFi設置,禁用DHCP,然后給手機指定一個IP地址。


這一步是有必要的,這樣路由器就不會每過幾天就給手機分配一個新地址。否則,配置會相當麻煩。


安裝Ruby、Bundler、Sinatra和Puma


Sinatra是一個輕量級的Web應用程序框架,而Puma是Web服務器。


Ruby就是Ruby!


當然,Sinatra和Puma只是建議,你甚至可以在手機上運行完整的Rails應用程序。只要別使用默認的Rails開發服務器WEBRick就行,它只有單進程、單線程,因此不適合生產環境。(小型測試環境還是不錯的)。


在安卓上運行:

pkg install ruby
gem install sinatra puma


nginx是Web服務器、反向代理和負載均衡器。雖然配置成多服務器是最有效的,它可以給多臺服務器分發請求,但在我們的手機服務器上nginx也非常好,它內置了DDoS防范功能,還能為靜態文件提供服務。


在安卓上運行:

pkg install nginx


接下來需要一點小技巧,才能讓nginx與Puma相互配合。這個配置(https://gist.github.com/ctalkington/4448153)非常好,復制nginx.conf,將appdir改成你的Web應用的根目錄。在我的配置中,我將其改成了 /data/data/com/termux/files/home/android-sinatra。



如果想讓Web服務器可以通過互聯網訪問,就需要給路由器設置端口轉發,將進入的請求到新配置好的安卓Web服務器上。


具體做法取決于你的路由器。可以參考這篇文章(https://www.noip.com/support/knowledgebase/general-port-forwarding-guide/)。



大多數人的公網IP地址都是動態的。因此,設置一個動態dns(DDNS)服務非常有必要,它會給你提供一個靜態域名,自動將請求轉發到你的動態公網IP地址上。


有幾個免費的DDNS服務。我使用的是no-ip,到目前一切都好。只不過你需要每個月去“更新”一下域名。


設置好DDNS之后,你需要配置路由器,讓它定期將自己的IP地址通知給DDNS服務。具體做法取決于路由器型號。



圖片


你可以用siege這個HTTP負載測試軟件來模擬真實世界中的使用情況。蕪湖數據恢復下面是在我的服務器上運行siege的情況,服務器支持3個并發用戶(真實世界中應該設置得更大):


圖片


截圖中數字的意義不大,因為我們的Web應用的響應只不過是時間戳,不超過100個字符,但足夠證明,我們的服務器可以處理少量的并發用戶了。


番外篇:安全性


互聯網非常危險。如果你真的要運行一臺服務器,就必須考慮這些問題。


運行這臺服務器幾個小時后,就已經有各種爬蟲進來了。大多數都是無害的搜索引擎爬蟲,但有的卻是來者不善,比如這兩個請求:


圖片


所以,務必要保證所有軟件都是最新的,隨時觀察訪問日志,并遵循nginx的安全指南。


圖片


推薦閱讀

發小被綠,我竭盡所學黑科技,動用云控捉奸尋找證據….

去他媽的某日葵!不就遠程控制嘛,老子自己搭建!

我也折騰了一款百度網盤....不會被抓進去吧~

連夜給學妹肝了一篇搭建個人網站的教程,這就送過去了,兄弟們把把關!

  電話咨詢

<abbr id="ehohq"><form id="ehohq"><small id="ehohq"></small></form></abbr>
  • <menu id="ehohq"><dl id="ehohq"></dl></menu>

    1. <bdo id="ehohq"><span id="ehohq"></span></bdo>
        主站蜘蛛池模板: 于田县| 绍兴县| 临汾市| 沙洋县| 阿合奇县| 榕江县| 绥德县| 乐亭县| 贡山| 古交市| 宁夏| 濮阳县| 兰西县| 大洼县| 沙田区| 青田县| 长宁县| 福清市| 伊川县| 施甸县| 通海县| 普定县| 大竹县| 九龙坡区| 新乐市| 汾阳市| 桃园市| 武鸣县| 平乐县| 永城市| 连城县| 宁晋县| 彭山县| 抚顺县| 城口县| 岗巴县| 蒲城县| 定西市| 泸水县| 吴川市| 来宾市|