手机当服务器(Termux)快速入门

手机当服务器(Termux)快速入门

0 简介

相关文档

  • Termux 官网
  • Github 项目地址
  • F-Droid 下载地址
  • Termux入门指南(国光)

1 快速入门

前置要求:熟悉常用的linux操作命令

Termux版本:0.118.0

目录标识符:~ $

1.1 基本配置

更换镜像源[选择源(这里选择的是清华源)]

PS:确认(OK)\选择(直接点括号)

~ $ termux-change-repo
手机当服务器(Termux)快速入门_第1张图片 手机当服务器(Termux)快速入门_第2张图片

更换源完成后执行

~ $ pkg update

安装基本程序(安装过程中需输入Y确认并回车)

~ $ pkg install vim git nmap openssh

配置ssh连接

# 查看账号
~ $ whoami
u0_a000

# 设置密码
~ $ passwd

# 开启ssh
~ $ sshd

# 查看局域网ip
~ $ ifconfig

# 局域网ssh连接(默认ssh端口8022)
ssh -p 8022 [email protected]

1.2 端口查看

Andorid 10 以下的版本是可以正常使用 netstat 命令

# 查看所有端口
~ $ netstat -an
 
# 查看8022端口的开放情况
~ $ netstat -an | grep 8022

Andorid 10 及以上版本的 Termux 下无法正常使用 netstat -an 命令

# 安装nmap端口扫描神器
~ $ pkg install nmap
 
# 扫描本地端口
~ $ nmap 127.0.0.1

1.3 修改启动问候语

默认的启动问候语

手机当服务器(Termux)快速入门_第3张图片
# 修改启动问候语
~ $ vim $PREFIX/etc/motd

# 在编辑器中填写自己想要展示的问候语并保存
# 参考问候语
 _____                              
|_   _|__ _ __ _ __ ___  _   ___  __
  | |/ _ \ '__| '_ ` _ \| | | \ \/ /
  | |  __/ |  | | | | | | |_| |>  < 
  |_|\___|_|  |_| |_| |_|\__,_/_/\_\
           Welcome to Termux(0.118.0)

 > Search:  pkg search <query>
 > Install: pkg install <package>
 > Upgrade: pkg upgrade

修改后的效果

手机当服务器(Termux)快速入门_第4张图片

1.4 应用程序自启动

由于软件退出后,再次进入时之前的应用程序需重新启动(如 ssh 等 )

# 根目录创建.bashrc
~ $ cd
~ $ touch .bashrc

# 编辑自启动脚本
~ $ vim .bashrc

sshd自启动脚本,其他应用程序同理

# 初始化sshd
if pgrep -x "sshd" >/dev/null
  then
    echo " > sshd started"
  else
    sshd >/dev/null
    echo " > sshd start success"
fi

1.5 息屏不断开

前置条件:手机任务栏锁定、取消电量限制策略

termux息屏后会导致ssh断连,应用程序中断等情况,需要设置常驻后台

  • 方式一:命令行开启

    # 命令行开启
    ~ $ termux-wake-lock
    
  • 方式二:通知栏按钮开启,出现(wake lock held)即开启成功

    未开启,点击 Acquire wakelock开启

    手机当服务器(Termux)快速入门_第5张图片

    已开启,点击 Release wakelock关闭

    手机当服务器(Termux)快速入门_第6张图片

2 安装应用程序

2.1 Nginx

安装nginx并启动

# pkg安装nginx
~ $ pkg install nginx

# 启动nginx
~ $ nginx

手机浏览器进入127.0.0.1:8080 (局域网内可通过 ip:端口 访问)

手机当服务器(Termux)快速入门_第7张图片

查看nginx配置(nginx.conf为nginx默认配置文件)

# 查看nginx文件位置
~ $ nginx -t
nginx: the configuration file /data/data/com.termux/files/usr/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /data/data/com.termux/files/usr/etc/nginx/nginx.conf test is successful

# 进入nginx目录路径
~ $ cd /data/data/com.termux/files/usr/etc/nginx/
.../etc/nginx $ ls
fastcgi.conf  fastcgi_params  koi-utf  koi-win  mime.types  nginx.conf  scgi_params  uwsgi_params  win-utf

更多nginx配置配置查看官方文档

https://nginx.org/en/docs/

2.2 Java

安装jdk,默认只有openjdk17

# 安装jdk
~ $ pkg install openjdk-17

# 查看java版本(出现版本信息则安装完成)
~ $ java -version
openjdk version "17-internal" 2021-09-14
OpenJDK Runtime Environment (build 17-internal+0-adhoc..src)
OpenJDK 64-Bit Server VM (build 17-internal+0-adhoc..src, mixed mode)

测试Hello World

# 创建HelloWorld.java文件
~ $ touch HelloWorld.java

# 编辑HelloWorld.java文件
~ $ vim HelloWorld.java

HelloWorld.java文件内容,编辑完成后按esc键,输入:wq保存并退出

public class HelloWorld{
    public static void main(String... args){
        System.out.println("Hello World!");
    }
}

运行HelloWorld.java,在jdk11及之后的版本支持源文件直接运行,不用再执行javac命令了。

# 执行HelloWorld.java
~ $ java HelloWorld.java
Hello World!

Hello World!成功打印,Java环境配置成功

2.3 Python

安装python,默认为3.10

# 安装python
~ $ pkg install python

# 查看python版本
~ $ python -V
Python 3.10.7

# 升级pip版本
python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

测试Hello World

~ $ python
Python 3.10.7 (main, Sep  8 2022, 06:55:17) [Clang 14.0.6 (https://android.googlesource.com/toolchain/llvm-project 4c603efb0 on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello World")
Hello World

2.4 Nodejs

这里安装长期支持版nodejs-lts

# 安装nodejs
~ $ pkg install nodejs-lts

# 安装完成后使⽤如下命令查看版本信息
node -V
npm -V

测试Hello World

# 创建HelloWorld.js文件
~ $ touch HelloWorld.js

# 编辑HelloWorld.js文件
~ $ vim HelloWorld.js

# 文件内容
console.log('Hello World!');

运⾏HelloWorld.js

~ $ node HelloWorld.js
Hello World!

3 结语

安装其他应用程序可自行探索

若想要公网访问能力,可使用frp、ngork等内网穿透工具

你可能感兴趣的:(linux,termux,服务器,linux)