日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

【CSDN 編者按】你家是否還有堆在角落積灰的Android/ target=_blank class=infotextkey>安卓舊手機?給它一個機會,讓他變廢為寶可好?來看看將其改造成Ruby Web服務(wù)器的攻略吧!

原文鏈接:https://lbrito1.github.io/blog/2020/02/repurposing-android.html

作者 | Leonardo Brito

譯者 | 彎月 責(zé)編 | 彭慧中

出品 | CSDN(ID:CSDNnews)

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

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

在進一步介紹之前,你也許會想:這有什么實際的用途嗎?一臺舊的安卓手機可能并不會有太高的性能,但t2.nano的AWS服務(wù)器也沒有。我還沒有在安卓上部署任何“真正”的代碼,但即使是最廉價的手機,一般也都有四核甚至八核CPU,至少2GB內(nèi)存,所以理論上手機性能幾乎接近最先進的云服務(wù)器(例如t2.nano就只有512MB內(nèi)存)。當(dāng)然,手機的處理器是ARM,而云服務(wù)器通常是x86;內(nèi)存管理也完全不同。不過我們這里只是粗略估計一下。

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

安裝Termux

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

設(shè)置SSH

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

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

首先在安卓上運行:

  •  
  •  
pkg upgrade pkg install dropbear

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

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

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

  •  
pkg install tmux

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

  •  
ssh android-ip-address -p 8022

設(shè)置安卓的靜態(tài)IP地址

進入wifi設(shè)置,禁用DHCP,然后給手機指定一個IP地址。

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

安裝Ruby、Bundler、Sinatra和Puma

Sinatra是一個輕量級的Web應(yīng)用程序框架,而Puma是Web服務(wù)器。

Ruby就是Ruby!

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

在安卓上運行:

  •  
  •  
pkg install ruby gem install sinatra puma

安裝Nginx

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

在安卓上運行:

  •  
pkg install nginx

設(shè)置端口轉(zhuǎn)發(fā)

如果想讓W(xué)eb服務(wù)器可以通過互聯(lián)網(wǎng)訪問,就需要給路由器設(shè)置端口轉(zhuǎn)發(fā),將進入的請求到新配置好的安卓Web服務(wù)器上。

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

配置動態(tài)DNS

大多數(shù)人的公網(wǎng)IP地址都是動態(tài)的。因此,設(shè)置一個動態(tài)dns(DDNS)服務(wù)非常有必要,它會給你提供一個靜態(tài)域名,自動將請求轉(zhuǎn)發(fā)到你的動態(tài)公網(wǎng)IP地址上。

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

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

運行Hello world!

負載測試

你可以用siege這個HTTP負載測試軟件來模擬真實世界中的使用情況。下面是在我的服務(wù)器上運行siege的情況,服務(wù)器支持3個并發(fā)用戶(真實世界中應(yīng)該設(shè)置得更大):

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

番外篇:安全性

互聯(lián)網(wǎng)非常危險。如果你真的要運行一臺服務(wù)器,就必須考慮這些問題。

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

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

?開發(fā)者收到“加料”的假 Offer,害上家被盜近 6.25 億美元!

?小米自動駕駛測試車曝光;馬斯克疑回應(yīng)生9個孩子:幫助應(yīng)對人口不足危機;亞馬遜發(fā)布AI編程助手|極客頭條

?豪擲 5 億美元,國外支付巨頭 CEO 幫助斯坦福女友實現(xiàn)科研自由!

一鍵三連 「分享」「點贊」「在看」

成就一億技術(shù)人

分享到:
標(biāo)簽:服務(wù)器 Web
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定