閑置安卓設備搭建Linux服務器實現外網訪問



title: 閑置安卓設備搭建Linux服務器實現外網訪問

這是我搭過的第一個博客系統,寫貼紀念一下

待博主整理好思路,將今天所用到的全部分享!

好吧,我就是窮。富人靠科技,窮人靠變異。我這種窮人是真的舍不得買服務器。

於是只能想辦法了,網上找了很久,發現了這個只靠閑置手機就能作服務器方法。

花了一上午,網上搜尋無數資料,勉勉強強把這個博客給搭建出來了(菜)。

說到底還是菜,花了這么長時間。因此,我覺得這是完全面向小白的教程。

正文開始

要用手機搭建私人博客就要滿足以下幾點要求:

1.已root正常安卓手機一台(閑置最好,不怕死可以直接用現用機)

2.仔細認真一步一步老老實實做

3.嚴格按照以上兩步執行

第一步 在安卓上搭建Linux環境

用到的app:busybox,es文件瀏覽器,Linux deploy,juicessh。(傳送門,提取碼:)

應用按教程順序安裝!

1.安裝busybox。

安裝成功后啟動,會自動初始化,如果沒有自動初始化請檢查root權限!

等待busybox初始化完成后可以直接關閉。

2.安裝es文件瀏覽器

(其實也可以不用安裝,但博主覺得安上挺有用的,后面的一些操作不一定要es文件管理器)

3.安裝Linux deploy

安裝后打開Linux deploy 點擊右下角設置圖標進入屬性配置:

容器類型:chroot

發行版:Ubuntu

架構:(用默認的就好)

發行版版本:xenial

源地址:官網太慢我們換成:

https://mirror.tuna.tsinghua.edu.cn/ubuntu-ports/ # 清華大學開源鏡像

安裝類型:目錄(選文件的話是img文件,之后服務器文件修改需要用sftp或ssh操作,選目錄的話文件可以直接本地操作)

安裝路徑:默認路徑為${ENV_DIR}/rootfs/linux,即安裝在/data/user/0/ru.meefik.linuxdeploy/env/rootfs/linux目錄下(選文件的話是儲存在/Linux.img中)

用戶名:(自己設置,之后作為Linux 的登錄賬戶)

用戶密碼:(自己設置,之后作為Linux 的登錄密碼)

特權用戶:root

DNS:自動(有特殊需求自己設置)

本地化:POSIX(有特殊需求自己設置)

初始化:不啟用(有特殊需求自己設置)

掛載:不啟用(有特殊需求自己設置)

SSH:啟用

SSH設置:默認(有特殊需求自己設置)

PULSEAUDIO:不啟用(有特殊需求自己設置)

圖形界面:不啟用(有特殊需求自己設置)

到此配置完畢,返回Linux deploy主界面  點擊右上角選擇安裝=>OK。

終端輸出 ‘>>>deploy’ 時,表示安裝已開始。

等待安裝完成(大概十分鍾,主要看網速,我的是2m/s的下載速度)

終端輸出 ‘<<<deploy’ 時,表示安裝已結束。

安裝完成后可以按下方啟動鍵啟動。

至此,完成系統部署。

4.安裝juicessh

新建一個認證。

昵稱:隨意填寫

類型:SSH

地址:127.0.0.1

保存后點擊剛剛新建的項目連接我們已部署好的系統。

連接成功界面如下:(圖片已丟失)

第二步 利用ngrok實現內網穿透

這里選ngrok的原因是ngrok開源免費,重點是免費!

去ngrok.cc注冊,登錄后台,如圖所示開通隧道。(圖片已丟失)

填寫詳細信息:

要注意的是,本地端口填127.0.0.1:8000,原因是我的80端口無法正常使用,多次檢查,疑似運營商給屏蔽了。換8000后沒問題。

之后在隧道管理中找到隧道id並記下,如圖所示對應下載linux_ram客戶端:


圖三(圖片已丟失)

將下載后解壓得到的sunny文件移入Linux 對應home/Desktop/ngrok目錄下,這里沒有ngrok目錄需要新建一個。

可以在juicessh中用命令新建一個:

 cd Desktop

 mkdir ngrok

文件可以通過es文件管理器的sftp直接粘貼到對應目錄下

在sunny所在目錄輸入命令:

sudo ./sunny clientid XXXXX(你的隧道id)

之后會有隧道啟動成功提示,並有轉發地址(通過外網可以訪問在8000端口的web服務):


這時候你通過該地址可以由外網訪問訪問手機的web服務了!

但是你的瀏覽器只能打開隧道不可用的提示如圖:(圖片已丟失)

因為,到此為止我們只是實現了服務器的搭建和內網穿透,並沒有創建web服務,接下來,我們創建私人博客這個web服務。

第三步 部署web服務-個人博客

明天在繼續分享,今天包括建站,已經忙了一天了,昨晚太熱只睡了3個小時,今天就洗個澡舒舒服服的睡他一覺,再熬夜的話我怕是要猝死。。。

————————————歡迎回來————————————

今天我們繼續昨天的內容————博客部署

這里我選用的博客系統是GitHub上的開源項目Blog_mini

接下來開始:

1.獲取Blog_mini源代碼

先創建一個目錄project:

mkdir project

進入該目錄:

cd project/

如果已經安裝git則跳過這一步,未安裝則執行下面命令:

sudo apt-get install git

接下來從Blog_mini項目克隆源碼:

git clone https://github.com/xpleaf/Blog_mini

克隆完成后目錄結構如下(ls命令可直接查看):

app        LICENSE    migrations  README.md     requirements.txt

config.py  manage.py  Procfile    requirements

2.安裝pip

執行命令:

sudo apt-get install python-pip

3.安裝virtualenv

執行命令:

sudo apt-get install virtualenv

4.創建虛擬環境venv

在Blog_mini目錄下執行下面的命令:

virtualenv venv

成功后會生成一個目錄venv,目錄結果如下:

app        LICENSE    migrations  README.md     requirements.txt

config.py  manage.py  Procfile    requirements  venv

5.激活虛擬環境venv

在Blog_mini目錄下執行命令:

source venv/bin/activate

6.安裝Blog_mini需求文件

執行命令:

pip install -r requirements/common.txt

7.使用sqlite作為默認數據庫來運行Blog_mini

為什么不使用MySQL數據庫,我想會有小伙伴有疑問,其實我已經嘗試過了,MySQL服務在我的安卓設備無法啟動,至於原因,我目前也沒有頭緒,如果你知道的話歡迎留言告訴我。這里,為了確保教程正確性,我使用python自帶的sqlite作為數據庫

在Blog_mini目錄下執行下面的命令:

python manage.py deploy product

可以看到多了一個data.sqlite文件,這個文件就是sqlite數據庫文件,目錄結構如下:

app        config.pyc   LICENSE    migrations  README.md     requirements.txt

config.py  data.sqlite  manage.py  Procfile    requirements  venv

8.以8000端口運行Blog_mini:

執行命令:

gunicorn -b 127.0.0.1:8000  manage:app

至此,博客搭建完成,並且已經部署到了8000端口,你可以通過運行第二步的sunny打開隧道,並用隧道提供的域名從外網訪問你的博客啦!

提示:

Blog_mini管理后台的默認賬號密碼:

賬號:blog_mini@163.com

密碼:blog_mini


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM