起因

由于今年买的腾讯云服务器到期了,我一看续租的话要459元,作为白嫖党这是万万不能接受的!

Termux搭建简易服务器_移植linux到手机_将旧安卓手机改造家用服务器

于是我就想:能够搞一个简单的服务器,能跑基本的项目就好了。

之后我就在雄鹿上见到了一篇文章:怎样将旧的Android手机改建为家用服务器

最后结合全网,搜到了如下两种方案:

综合对比下,我选择用Termux试试。

前提

想要跑上去Termux,首先你要有一个安卓手机。

于是我就开始逛咸鱼,最后选了一款IQOONeo5机型的,12+256G(有些小毛病),花了315元,这个显存跑服务应当是够了的。

开始安装安装Termux

1)通过github或则APKFab应用商店安装Termux。

2)更新和安装基础软件

pkg update && pkg upgrade -y 
pkg install wget curl nano -y

安装nodejs

因为本人是后端开发,所有用的服务都是nodejs写的,所以只安装node相关的东西

pkg install nodejs
// 安装PHP或其他的同理,示例如下:
pkg install php 

安装完成后,复印一下瞧瞧是否成功了

Termux搭建简易服务器_移植linux到手机_将旧安卓手机改造家用服务器

安装其他

因为我的项目也有nodejs服务端,所以还须要安装以下:

具体的教程就不展示细节了,推荐几个教程地址,仅供参考:

设置完ssh后,就可以在笔记本上的Xshell联接登陆了,注意了:

默认端标语为8022,不是22

默认端标语为8022,不是22

默认端标语为8022,不是22

联接成功后是这样的

Termux搭建简易服务器_将旧安卓手机改造家用服务器_移植linux到手机

其中有一个用户身分验证,用户名输入whoami查看

装入几个项目

我用Xftp传入几个vue项目和nodejs项目

移植linux到手机_将旧安卓手机改造家用服务器_Termux搭建简易服务器

启动服务

项目装入后linux系统日志,启动的服务应当是只能局域网访问的,几个vue项目都是打包的dist文件,所以须要配置nginx代理,关键配置如下,有多少个项目,就来多少个server就行,渐渐配吧。

由于个人项目不多,也不找其他高大上的管理工具了

 # 加解密 配置
    server {
        listen       5290;
        server_name  192.168.3.155;
        location / {
            root   /data/data/com.termux/files/home/vue/rui-utils-crypt/dist;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /data/data/com.termux/files/usr/share/nginx/html;
        }
    }
    # 个人博客 配置
    server {
        listen       5173;
        server_name  192.168.3.155;
        location / {
            root   /data/data/com.termux/files/home/vue/vite-press-blog/dist;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /data/data/com.termux/files/usr/share/nginx/html;
        }
    }
    # 若依 - nodejs-vue
    server {
        listen 5000;
        server_name 192.168.3.155;
        location / {
        # dist为静态资源文件夹,dist内有index.html,
          root   /data/data/com.termux/files/home/vue/ruoyi-vue/dist;
          index  index.html index.htm;
          # 解决单页面应用中history模式不能刷新的bug
          try_files $uri $uri/ /index.html;
          # try_files $uri $uri/ =404;
        }
        # 服务器代理实现跨域
        location /prod-api/ {
            proxy_pass   http://192.168.3.155:7002/; # 将/api/开头的url转向该域名
            #如果报错则使用这一行代替上一行 proxy_pass   http://localhost:8000;  将/api/开头的url转向该域名
            rewrite "^/prod-api/(.*)#34; /$1 break ; # 最终url中去掉/api前缀
        }
        # 静态资源优化 - 添加 ^~ 前缀提高匹配优先级
        location ^~ /assets/ {
            root /data/data/com.termux/files/home/vue/ruoyi-vue/dist;
            expires 12h;
            error_log /dev/null;
            access_log /dev/null;
        }
        #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
        error_page 404 /404.html;
        #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
#         include /www/server/panel/vhost/rewrite/60.204.201.111.conf;
        #REWRITE-END
        #禁止访问的文件或目录
        location ~ ^/(.user.ini|.htaccess|.git|.env|.svn|.project|LICENSE|README.md)
        {
            return 404;
        }
        #一键申请SSL证书验证目录相关设置
        location ~ .well-known{
            allow all;
        }
        #禁止在证书验证目录放入敏感文件
        if ( $uri ~ "^/.well-known/.*.(php|jsp|py|js|css|lua|ts|go|zip|tar.gz|rar|7z|sql|bak)#34; ) {
            return 403;
        }
        location ~ .*.(gif|jpg|jpeg|png|bmp|swf|ico)$
        {
            expires      30d;
            error_log /dev/null;
            access_log /dev/null;
        }
        location ~ .*.(js|css)?$
        {
            expires      12h;
            error_log /dev/null;
            access_log /dev/null;
        }
        access_log  /data/data/com.termux/files/usr/var/log/nginx/access.log;
        error_log   /data/data/com.termux/files/usr/var/log/nginx/error.log;
    }

本地访问

移植linux到手机_Termux搭建简易服务器_将旧安卓手机改造家用服务器

本人手机的ip为:192.168.3.155,端口用nginx的配置项即可,在Termux中输入nginx来启动,这样就可以本地访问了。

不晓得ip的可以输入ifconfig来查看

移植linux到手机_Termux搭建简易服务器_将旧安卓手机改造家用服务器

先访问一下192.168.3.155:5173

移植linux到手机_Termux搭建简易服务器_将旧安卓手机改造家用服务器

可以见到,在笔记本上早已能访问手机上启动的服务了。

并且我们须要内网也能访问,这就须要上面说的外网穿透了。

外网穿透

本项目的外网穿透选的是cpolar,教程见上文链接。

由于我装了sv工具,所以我输入svupcpolar就启动了cpolar,启动后在笔记本上输入手机IP+9200端标语即可登入cpolar后台

配置本地的端标语:

配置完后,就可以在在线隧洞列表菜单见到已配置的了

之后我们就可以在网段地址访问了移植linux到手机,复制列表的地址linux 版本,打开:

至此,我们早已可以在内网访问手机上、部署的vue打包项目了。并且此时没有前端服务,接出来我们同时布署前端的服务。

布署nodejs前端

先运行以下命令,启动redis和数据库

redis-server --daemonize yes 
mysqld_safe &

之后按照nodejs的启动方式启动即可移植linux到手机,通常为node入口文件.js

我的启动成功如下

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复