云计算百科
云计算领域专业知识百科平台

白嫖党的快乐,我在安卓手机上搭了服务器+内网穿透,再也不用买服务器了

起因

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

在这里插入图片描述

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

然后我就在掘金上看到了一篇文章:如何将旧的Android手机改造为家用服务器

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

  • KSWEB
  • Ternux

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

前提

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

于是我就开始逛咸鱼,最后选了一款IQOO Neo5型号的,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

安装完成后,打印一下看看是否成功了

在这里插入图片描述

安装其他

由于我的项目也有nodejs服务端,所以还需要安装以下:

  • mysql 数据库
  • ssh 远程连接
  • redis 缓存
  • cpolar 内网穿透(本地部署的项目,外网无法访问,用它来给外网访问)
  • nginx 高性能代理

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

  • 安装数据库:https://cloud.tencent.com/developer/article/2392888
  • 安装内网穿透:https://blog.csdn.net/m0_75215937/article/details/141032023

设置完ssh后,就可以在电脑上的Xshell连接登录了,注意了:

默认端口号为8022,不是22

默认端口号为8022,不是22

默认端口号为8022,不是22

连接成功后是这样的 在这里插入图片描述

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

在这里插入图片描述

放入几个项目

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

在这里插入图片描述

启动服务

项目放入后,启动的服务应该是只能局域网访问的,几个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/(.*)$" /$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)$" ) {
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;
}

本地访问

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

不知道ip的可以输入ifconfig来查看

在这里插入图片描述

先访问一下192.168.3.155:5173

在这里插入图片描述

可以看到,在电脑上已经能访问手机上启动的服务了。

但是我们需要外网也能访问,这就需要前面说的内网穿透了。

内网穿透

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

因为我装了sv工具,所以我输入sv up cpolar就启动了cpolar,启动后在电脑上输入手机IP + 9200端口号即可登录cpolar后台

在这里插入图片描述

配置本地的端口号: 在这里插入图片描述

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

在这里插入图片描述

然后我们就可以在公网地址访问了,复制列表的地址,打开:

在这里插入图片描述

至此,我们已经可以在外网访问手机上、部署的vue打包项目了。但是此时没有后端服务,接下来我们同时部署后端的服务。

部署nodejs后端

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

redisserver daemonize yes

mysqld_safe &

然后根据nodejs的启动方法启动即可,一般为node 入口文件.js

我的启动成功如下 在这里插入图片描述

对应的前端地址如下:https://6331dea4.r5.cpolar.top/index

这个前后端是我用nodejs改写的java版若依管理后台,源码地址:https://gitee.com/ruirui-study/ruoyi_nodejs_open 我以前的文章也有介绍的

最后,如果需要启动多个nodejs项目,可以用pm2管理

注意:本文的地址可能无法访问,因为手机我有别的用处,不一定随时开着

赞(0)
未经允许不得转载:网硕互联帮助中心 » 白嫖党的快乐,我在安卓手机上搭了服务器+内网穿透,再也不用买服务器了
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!