目錄
前言
準(zhǔn)備工作
實(shí)踐
安裝Termux:
運(yùn)行Termux:
環(huán)境配置:
效果展示
寫(xiě)在最后
前言
最近偶然看到網(wǎng)上有人用KSWEB搭建本地服務(wù)器,于是突發(fā)奇想也想在手機(jī)中搭建一個(gè)node環(huán)境試試,趁著周末有空,麻溜的試了試。這篇文章將針對(duì)我的搭建過(guò)程,遇到的問(wèn)題及解決方案做個(gè)記錄
我的計(jì)劃是使用手機(jī)搭建一個(gè)node環(huán)境,通過(guò)內(nèi)網(wǎng)穿透將服務(wù)器暴露。然而KSWEB主打PHP+MySQL,暫時(shí)不適合我,所以在網(wǎng)上找了幾個(gè)解決方案:Termux,Linux Deploy,Anbox
最終基于方便和輕量,選擇了Termux,說(shuō)干就干
前情提示:安卓6的機(jī)子由于各種兼容問(wèn)題最終還是沒(méi)有完成搭建,后續(xù)使用的是安卓9的機(jī)子
準(zhǔn)備工作
- Termux
- 安卓手機(jī)(最好是安卓7+,并且不使用模擬器),我的一號(hào)機(jī)是榮耀6-安卓6;二號(hào)機(jī)是華為榮耀-安卓9
- vpn
- 谷歌商店,有最好
- 電腦:adb
實(shí)踐
安裝Termux:
有無(wú)谷歌商店:有的話直接安裝,沒(méi)有的話請(qǐng)往下看
如果是高版本的手機(jī)一般不會(huì)有安裝不上的問(wèn)題(在安卓模擬器上我出現(xiàn)過(guò)無(wú)法安裝的問(wèn)題),如果安裝不上可以先使用數(shù)據(jù)線連接電腦,運(yùn)行下面的指令查詢手機(jī)CPU架構(gòu)
adb shell getprop ro.product.cpu.abi
并直接在GitHub下載對(duì)應(yīng)的包安裝
?
直接使用adb install 安裝包路徑+安裝包全稱進(jìn)行安裝
如果是低版本的系統(tǒng),像我這用的是安卓6,只能下載歷史版本的軟件
這里是老版本的地址(需要vpn),沒(méi)vpn的用這個(gè)地址
運(yùn)行Termux:
運(yùn)行軟件踩坑的開(kāi)門(mén)紅是軟件的bootstrap安裝,軟件第一次安裝初始化時(shí)會(huì)請(qǐng)求bootstrap模塊(這一步需要掛梯子),低版本安卓6掛梯子仍然出現(xiàn)這個(gè)提示
在安卓9的高版本程序中掛梯子順利請(qǐng)求到并安裝成功
?
初步猜測(cè)是軟件版本過(guò)低,拿不到依賴包,使用Fiddler抓包試試
果不其然,請(qǐng)求的地址拿不到源文件,直接報(bào)404
我的解決方案是參考之前的文章使用重定向,代理到新的源文件中,這個(gè)也需要開(kāi)vpn
下面是增加的函數(shù)
static function ReplaceUrl(oSession, origin_host, replace_host){
if(oSession.fullUrl.indexOf(origin_host)!=-1){
MessageBox.Show(oSession.fullUrl)
oSession.fullUrl = oSession.fullUrl.Replace(origin_host,replace_host);
}
}
var replace_host = 'https://archive.org/download/termux-repositories-legacy/bootstrap-archives-legacy-24.12.2019.tar/bootstrap-archives%2Fbootstrap-arm.zip'
var origin_host = 'https://termux.net/bootstrap/new/bootstrap-arm.zip'
ReplaceUrl(oSession, origin_host, replace_host)
完成下載安裝bootstrap模塊后,就可以繼續(xù)下一步操作了
有個(gè)注意點(diǎn),如果無(wú)法掛vpn的同學(xué)可以找到我的文件中的termux-v0.79-offline-bootstraps.apk離線包直接安裝,如果安裝后報(bào)錯(cuò)的話則還是需要掛梯子安裝手機(jī)對(duì)應(yīng)架構(gòu)的bootstrap模塊
環(huán)境配置:
termux的操作可以參考這篇文章,講的很詳細(xì)
前置操作,切換pkg的國(guó)內(nèi)鏡像
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list
sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list
sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list
pkg update
Node安裝
pkg i node-lts
遠(yuǎn)程或局域網(wǎng)連接ssh
先在termux上安裝nmap和openssh
pkg i nmap openssh -y
設(shè)置termux密碼
passwd
啟動(dòng)ssh和nmap
sshd
nmap 127.0.0.1
看到這個(gè)基本就大功告成,在電腦上用git-bash試試(手機(jī)ip可以在手機(jī)設(shè)置或使用命令ifconfig查看)
ssh 192.168.0.103 -p 8022
效果展示
部署一個(gè)Node項(xiàng)目
const http = require("http");
http
.createServer((_, res) => {
res.setHeader("Access-Control-Allow-Origin", "*"); //設(shè)置響應(yīng)頭解決跨域
console.log("get msg");
res.write("hello world");
res.end();
})
.listen(10243, () => {
console.log("server start");
});
寫(xiě)個(gè)最簡(jiǎn)單的node服務(wù)部署到服務(wù)器中
在局域網(wǎng)中輸入http://192.168.0.103:10243/
寫(xiě)在最后
至此,一個(gè)完整的移動(dòng)端服務(wù)搭建完成
參考這篇文章:沒(méi)有云服務(wù)器??jī)?nèi)網(wǎng)穿透了解一下_DieHunter1024的博客-CSDN博客
可以將服務(wù)器部署至公網(wǎng)中,有興趣的同學(xué)可以試試
感謝你看到這里,希望這篇文章能幫助你文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-404244.html
如果有幫助還請(qǐng)支持一下博主,感謝!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-404244.html
到了這里,關(guān)于舊手機(jī)閑置?教你用Termux搭建個(gè)移動(dòng)服務(wù)器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!