因為疫情的關系一直在家隔離,看了看手里的四部手機 ,一臺伊拉克成色的小米2s(咱當年也是發(fā)sao青年),3臺蘋果(也都是比較舊的型號。。。撿老爸老媽剩下的。。。)
其實小米還算正常--除了自帶聽筒和麥克風不好用、電源鍵不太好使以外,其他沒有什么毛病。但感覺就像雞肋,食之無味,棄之可惜。
后來我仔細想想,能不能把手機搞成個小服務器呢?手機的硬件本就是為了長時間待機的,穩(wěn)定性應該不錯的。如果能打造成服務器,豈不是“充分利用閑置的舊手機,讓其發(fā)揮余熱?“(知乎上這個問題給了我不少靈感)
先吐槽下,雖然不知道國外啥樣,但是感覺國內的Termux資源以及使用人群是真的少.....沒個論壇或者qq群啥的,Termux吧里好多都不是適合自己學習的資料。大家如果有折騰Termux的圈子,希望能告訴我一下,過去學習學習(寒窗12年,從來沒這么自發(fā)的想學習過....)。所以特別編寫、整理了這個“最詳細、完整的基于安卓手機使用Termux搭建web服務器教程”。
小白不要怕、萌新不要怕,我在linux以及搭建服務器這方面也是賊白賊白、賊新賊新的。
俗話說得好,要把大象裝冰箱,總共分幾步?(答案在文章開頭)
一.軟件的準備Termuxnat123安卓版建站系統(tǒng)Putty(windows軟件)二.前期Termux的設置與準備1.Termux安裝首先在安卓手機上安裝Termux,200k的小軟件,功能卻非常強大,自帶busybox。這個軟件的安裝要求是Android5.0及以上,建議將手機root。
2.Termux的配置(共4步)a.為Termux改源安裝好以后,先改源(要不下載太慢),建議改成清華源(也算圓了我上清華的夢想)。
Termux自帶vi,設置默認編輯器為vi,以及使用vi編輯器編輯軟件源:
export EDITOR=viapt edit-sources回車后是個這樣的,按i進入編輯模式:
Ctrl+A ->將光標移動到行首 Ctrl+E ->將光標移動到行尾 Ctrl+K ->從光標刪除到行尾
將原來的deb https://termux.net..........這一行前面加個#號給它注釋掉
添加:
deb [arch=all,你的平臺架構] http://mirrors.tuna.tsinghua.edu.cn/termux stable main填寫完成后,手機上的輸入法上方應該會有ESC這個按鍵,點一下,然后找符號中的 “:“ 號,然后最下面會有一個:出來,再輸入wq,手機回車,就保存并退出vi了。
b.升級軟件庫接下來我們將軟件包庫升級一下:
pkg updatepkg upgradec.安裝openssh并設置升級好后我們下載openssh,方便我們在電腦上用電腦鍵盤操作,提高效率。安裝openssh命令:
pkg install openssh安裝完成后,我們先設置termux的密碼:
passwd系統(tǒng)會提示你輸入密碼,但不會以 ** 等符號來提示你,所以輸入時要仔細。
再次確認密碼--在輸入一遍剛剛輸入的密碼,回車
系統(tǒng)提示設置成功。
d.啟動并用putty遠程登陸Termux啟動ssh(默認端口為8022):
sshd查詢主機名稱:
whoami查詢局域網ip地址(建議大家去路由器管理頁面做個ip與MAC地址綁定,以后就不用總查了)
ifconfig wlan0然后用putty登錄,putty 設置:
藍色圓圈部分是因為長時間沒有操作會自動斷開ssh,所以在這里設置成60(其他也可以,建議不要過?。?/p>
Hostname填寫查詢到的ip,端口填寫8022,選擇下方空白處的default settings,點擊右邊的save,保存設置
點擊open,這里正常應該是login as:
ssh 主機名@查到的IP -p 8022接著會讓你輸入密碼password: 將我們設置過的密碼輸入進去(同樣沒有提示)
回車以后會看到歡迎頁:Welcome to Termux?。╞alabala一大堆)
這些是前期準備工作。
三.Termux搭建WEB服務器所需的軟件及配置(分3步,Termux中下載)1.phpa.下載phppkg install phpb.開啟php自帶的web服務器并指定建站系統(tǒng)文件夾(-t 文件夾名稱)ps:1.我一般是直接cd到建站系統(tǒng)文件夾路徑的
2.cd:類似windows里打開硬盤某個文件夾一樣,Termux下常用的cd /data/data/com.termux/files/home。每個手機的路徑可能都不相同,可以輸入“pwd”回車查看路徑
3.建議用RE文件管理器將建站系統(tǒng)文件夾直接復制過去。如果沒有權限,可以用cp命令,這里就不展開了,百度下“cp命令“有用法以及示范。
php -S 0.0.0.0:端口號 -t 文件夾名稱此時一個web服務器就成功開啟了,可以在局域網內的電腦或移動設備瀏覽器內輸入“服務器的局域網ip地址:端口號“即可訪問
2.mariadb數(shù)據(jù)庫a.安裝mariadbpkg install mariadbb.配置mariadb有可能會報錯,依據(jù)提示運行要求的命令即可,我碰到的是讓我執(zhí)行“mysql upgrade"的命令,好像是這個。最開始還有tmp文件夾下找不到mysqld.sock文件的錯誤,這個問題一直沒找到解決辦法,cp這個文件到tmp下也試過了,不管用,然后我就強行執(zhí)行了“mysqld”的命令
mysql_install_dbc.開啟mariadbmysqld3.下載phpMyAdmin數(shù)據(jù)庫管理軟件百度phpmyadmin下載,下載后解壓出文件夾,放到某路徑下
開啟phpmyadmin,就是開啟php的web服務器,并將指向解壓出來的文件夾,可以設置其它的端口:
php -S 0.0.0.0:端口號 -t 文件夾名稱然后在瀏覽器內輸入主機的局域網ip地址+ : +端口即可訪問,默認帳號為root,密碼為空。
會提示缺少mcrypt擴展,這個不影響登錄,后面可以慢慢調試。
第一次輸入帳號(密碼為空,就是不用輸入)后點”執(zhí)行“上方還會提示“禁止空密碼進入”,這時候我們需要修改下他的配置文件:
cd到phpmyadmin文件夾,然后里面會有文件名為config.sample.inc.php的文件,也可能是config.inc.php,或者是config.default.inc.php
用vi打開它:
vi config.sample.inc.php會看到:
向下滑,將
cfg[′Servers′][i]['AllowNoPassword'] = false;改為:
cfg[′Servers′][i]['AllowNoPassword'] = true;或將密碼設置一下(紅色部分):
接著按住ESC并輸入“:wq“,回車自動保存退出,空密碼的問題解決。
至此,web服務器搭建完成,但是自己在局域網內搭建個博客啥的,也就只能給自己看,那有啥意思,博客不就是為了分享生活,分享快樂,分享知識技術的嘛。所以我們還需要將我們搭建好的網站讓公網也可以訪問到,有兩種辦法:1.直接去兩位馬爸爸家購買相應服務 2.自己在網上找相應的軟件以及配置教程。
不過咱們用手機搭建服務器不是為了省錢嗎,不然還折騰這個干嗎。畢竟大家都是窮吊絲,呸!就我是個窮吊絲,大家都是富一代、富二代、青年企業(yè)家。
為了省錢我就在網上找相關的軟件以及教程。最開始用的是ngrok,買了個免費的,結果發(fā)現(xiàn)配置成功了,但是訪問卻訪問不到。后來查到個軟件:nat123。
說實話,最開始進官網的時候感覺界面有點low,不是很優(yōu)雅、美觀,但是確實是成功的從公網訪問到了我的服務器,不吹不黑,速度不錯!下面是通過nat123讓服務器能被公網訪問的教程。
四.通過公網訪問服務器的辦法1.nat123安卓版a.在nat123官網上注冊帳號并登錄b.登錄后,找到端口映射列表,右上角“添加端口映射”
c.填寫信息,并確認保存
d.選擇android版,根據(jù)手機系統(tǒng)下載軟件
e.打開nat123安卓版,并輸入在官網注冊的帳號密碼,進入后自動開啟服務
可選擇退出前臺程序選項,不要讓手機在后臺kill此程序,建議設置白名單,Temrux同理
Ps:以下為nat123官網復制的內容(侵刪):
android版本備注: 1.在安卓運行后,遠程web管理。登陸網頁添加修改刪除操作,管理映射/解析,自動同步生效。 2.客戶端和訪問者是分開獨立的。 3.安卓版的訪問者暫時不支持1024以下端口。
五.總結php -S 開啟web服務器時,指向建站系統(tǒng)文件夾最開始不知道怎么表達,也就不知道怎么搜索,苦惱了好一陣。
mariadb中,碰到了同樣煩心的命令錯誤問題:mysql_install_db 與mysql upgrade,執(zhí)行mysql upgrade命令過程中還會碰到在網上找不到合適解決辦法的mysqld.sock問題。
無論是ssh還是在手機上,開啟了mariadb服務就不能關掉終端,只能新建一個終端,否則會失效
開啟服務器的命令最好在手機上的一個終端上完成,測試有時在ssh上開啟后不能關閉ssh或斷開連接,有幾率會在后臺找不到之前開啟的服務器活動,并且建議先執(zhí)行php -S 的web服務器指令,因為可以通過Ctrl+Z、bg等指令實現(xiàn)在后臺繼續(xù)運行;mariadb運行后只能在前臺運行(網上其他資料也這么說),沒有找到后臺運行的辦法,開啟mariadb的狀態(tài)下,Ctrl+Z、bg等命令均無效。等這些服務運行起來后,在手機Termux界面由左向右滑動屏幕,會有“New session”選項,可以開啟一個新的終端。
Termux的installing與phpmyadmin的下載花了好久的時間,最好有特殊的網絡連接。
掃描二維碼推送至手機訪問。
版權聲明:本文由信途科技轉載于網絡,如有侵權聯(lián)系站長刪除。