设备要求
工具与权限
步骤 | 命令/操作 |
---|---|
下载 Termux | 通过 F-Droid 或官网安装 https://termux.com/ |
更新包管理器 | pkg update && pkg upgrade |
安装基础工具 | pkg install wget curl openssh |
# 安装 OpenSSH 服务器 pkg install openssh # 启动 SSH 服务(默认端口 8022) sshd -p 8022 # 设置开机自启 echo "sshd -p 8022" >> ~/.profile
服务类型 | 安装命令 | 备注 |
---|---|---|
Apache HTTP | pkg install apache2 |
默认端口 80 |
Nginx | pkg install nginx |
轻量级反向代理 |
# 安装 MariaDB(体积更小) pkg install mariadb # 启动并设置开机自启 service mariadb start echo "/usr/bin/mysqld_safe --datadir='/data/data/com.termux/files/usr'" >> ~/.profile
apache2-webdav
模块,配置虚拟主机方案 | 操作步骤 |
---|---|
ngrok(推荐) | 下载 ngrok:wget https://bin.equinox.io/c/4bsdNj1JYptG/ngrok-stable-linux-amd64.tgz 解压并启动: ./ngrok tcp 8022 |
IPv4 公网地址 | 路由器端口转发(需公网 IP) 安卓防火墙开放端口 |
内网穿透工具 | 使用 Frp、SmarTing 等工具配合中继服务器 |
资源限制
cpulimit
限制 CPU 占用:cpulimit -l 50 <进程名>
安全防护
iptables
规则)/etc/ssh/sshd_config
)问题 | 解决方案 |
---|---|
服务启动失败 | 检查日志(journalctl 或 tail -f /var/log/syslog ),确认端口未被占用 |
外网无法访问 | 检查防火墙规则,确认运营商未封锁端口(如 80/443) |
存储空间不足 | 挂载外部存储(mount -o bind /sdcard/server /data/data/com.termux/files/home ) |
A1:Termux 是 Android 上的轻量级 Linux 环境,资源受限(如文件系统隔离),且部分系统调用需通过 Proot 模拟,适合测试和小范围服务,不适合高并发生产环境。
A2:需结合动态 DNS 服务(如 DuckDNS):
wget http://yourdomain.ddns.net/update?host=<子域名>
)