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

0 简介

相关文档

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

1 快速入门

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

Termux版本:0.118.0

目录标识符:~ $

1.1 基本配置

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

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

~ $ termux-change-repo

更换源完成后执行

~ $ pkg update

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

~ $ pkg install vim git nmap openssh

配置ssh连接

# 查看账号
~ $ whoami
u0_a000# 设置密码
~ $ passwd# 开启ssh
~ $ sshd# 查看局域网ip
~ $ ifconfig# 局域网ssh连接(默认ssh端口8022)
ssh -p 8022 u0_a000@192.168.1.10

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 修改启动问候语

默认的启动问候语

# 修改启动问候语
~ $ vim $PREFIX/etc/motd# 在编辑器中填写自己想要展示的问候语并保存
# 参考问候语_____
|_   _|__ _ __ _ __ ___  _   ___  __| |/ _ \ '__| '_ ` _ \| | | \ \/ /| |  __/ |  | | | | | | |_| |>  < |_|\___|_|  |_| |_| |_|\__,_/_/\_\Welcome to Termux(0.118.0)> Search:  pkg search <query>> Install: pkg install <package>> Upgrade: pkg upgrade

修改后的效果

1.4 应用程序自启动

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

# 根目录创建.bashrc
~ $ cd
~ $ touch .bashrc# 编辑自启动脚本
~ $ vim .bashrc

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

# 初始化sshd
if pgrep -x "sshd" >/dev/nullthenecho " > sshd started"elsesshd >/dev/nullecho " > sshd start success"
fi

1.5 息屏不断开

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

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

  • 方式一:命令行开启

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

    未开启,点击 Acquire wakelock开启

    已开启,点击 Release wakelock关闭

2 安装应用程序

2.1 Nginx

安装nginx并启动

# pkg安装nginx
~ $ pkg install nginx# 启动nginx
~ $ nginx

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

查看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等内网穿透工具

手机当服务器(Termux)快速入门相关推荐

  1. 5G网络(手机Wifi)快速入门

    5G网络(手机Wifi)快速入门 5G不仅涉及光纤.无线甚至卫星通信网络相互整合,还将利用软件定义网络(SDN ).网络功能虚拟化(NFV).移动边缘计算(MEC)和雾计算(Fog Computing ...

  2. 微信H5手机网页开发—快速入门

    序言 随着微信(WeChat)的盛行,一个流行的开发工作也随之诞生--微信公众号开发,而其中最主要的部分,当属微信H5网页开发. 虽然网页开发大家并不陌生,但层出不穷的手机型号,导致了微信网页开发中遇 ...

  3. 一文快速入门分库分表中间件 Sharding-JDBC (必修课)

    书接上文 <一文快速入门分库分表(必修课)>,这篇拖了好长的时间,本来计划在一周前就该写完的,结果家庭内部突然人事调整,领导层进行权利交接,随之宣布我正式当爹,紧接着家庭地位滑落至第三名, ...

  4. 《嵌入式 Linux应用程序开发标准教程(第2版)》——第1章 Linux快速入门 1.1 嵌入式Linux基础...

    本节书摘来自异步社区<嵌入式 Linux应用程序开发标准教程(第2版)>一书中的第1章,第1.1节,作者 华清远见嵌入式培训中心,更多章节内容可以访问云栖社区"异步社区" ...

  5. 认识AndEngine选自Android 2D游戏引擎AndEngine快速入门教程

    认识AndEngine什么是AndEngine 随着Android手机.平板的盛行,Android下的游戏也不断的变得火热.而对于游戏开发有兴趣的同学们,应该也想要学习开发游戏.虽说游戏开发的引擎较多 ...

  6. Android 2D游戏引擎AndEngine快速入门教程

    Android 2D游戏引擎AndEngine快速入门教程 介绍:AndEngine是一款知名的Android 2D游戏引擎.该引擎代码开源,并且可以免费使用.本书详细讲解如何使用AndEngine引 ...

  7. ArduinoYun快速入门教程第1章ArduinoYun概览

    ArduinoYun快速入门教程第1章ArduinoYun概览 本章是全书的开篇,在本章笔者将把Arduino以及Yun的方方面面介绍给大家.其中包括Arduino这个术语的解释.Yun相对其他开发板 ...

  8. 使用NeMo快速入门NLP、实现机器翻译任务,英伟达专家实战讲解,内附代码

    对话式AI是当前AI领域最火热的细分领域之一,其中自然语言处理(NLP)是最为困难的问题之一. 那么,零基础.对会话式AI感兴趣的小伙伴们如何快速入门 NLP领域? 近日,英伟达x量子位发起的NLP公 ...

  9. python快速编程入门教程-半小时带你快速入门Python编程,Python快速入门教程

    1,Introduction to Python (Python入门) 2,Python是什么? Python 官方网站的描述 Python is a programming language tha ...

最新文章

  1. 【pmcaff】2014年中国移动支付用户报告
  2. nginx 免安装包
  3. java线程池 锁_java多线程——锁
  4. python3用list实现栈
  5. 前端学习(1320):同步和异步得区别
  6. 关于大型网站技术演进的思考(三)--存储的瓶颈(3)
  7. javascript DOM对象转jquery对象
  8. 制作单机俄罗斯方块游戏心得(二)
  9. bzoj 3123 可持久化线段树启发式合并
  10. Windows server 2008 搭建×××服务
  11. JAVA实现 - 问题 G: 超大型 LED 显示屏
  12. 传奇java手游_Java手机游戏神灯传奇代码JAVA游戏源码下载
  13. heic照片格式怎么转换jpg?heic转换成jpg方法分享
  14. UnicodeTOGB,能够将Unicode串转换成GB码
  15. 2021年中国研究生数学建模竞赛A题(华为公司命题)——相关矩阵组的低复杂度计算和存储建模
  16. 如何调用阿里云、百度云API接口
  17. 课题:shell脚本安装httpd
  18. 计算机教子好考吗,考进985的孩子:父母都是这样教育孩子,这些方法比刷题管用...
  19. Speech Separation
  20. git从一个分支合并到另一个分支

热门文章

  1. Core Text 实践:自定义每个字的位置
  2. python3实现斐波那契数列--4种方法
  3. 如何理解 0.1+0.2
  4. C. Wilbur and Points(简单贪心加合法性判断)
  5. 微信小程序 - BILIBILI-demo
  6. 从安卓recovery 的 backup 备份数据中手动恢复 通讯录、短信,或者其他软件中的信息的方法
  7. Lerna 多 package 源代码管理方案
  8. 数据结构:单链表——带头结点与不带头结点步骤详解
  9. 小红书笔记下沉的方法和技巧
  10. hive SQL 过滤不含数字的字段