현황판

Termux는 PHP, MariaDB, Nginx, SSH 같은 서버 기능을 담당합니다. 현재 기준으로 PHP와 Nginx 응답이 확인되었고, PHP에서 MariaDB 접속 성공 상태를 확인했습니다.

중계 서버 192.168.0.197 우분투 22.04 중계서버-PC
스마트폰 SM-J737S Galaxy Wide3 / Android 10
Termux v0.118.3 공식 GitHub APK 설치
ADB 기기 연결됨 52005ac553fe8505
PHP 8.5.1 18082 -> 8082 응답 확인
Nginx 1.30.0 18083 -> 8083 PHP 프록시
MariaDB 12.2.2 폰 내부 3306, PHP 접속 성공
SSH 10.3 18022 -> 8022 배너 확인

Termux 설치 과정

  1. 1 기기 확인
    Galaxy Wide3 SM-J737S, Android 10, ABI armeabi-v7a로 확인했습니다.
  2. 2 공식 APK 선택
    Termux 공식 GitHub 릴리스의 v0.118.3armeabi-v7a APK를 사용했습니다.
  3. 3 ADB 설치
    중계 서버에서 APK를 받은 뒤 adb install -r로 스마트폰에 설치했습니다.
  4. 4 초기 실행
    Termux 앱을 한 번 실행해 /data/data/com.termux/files 내부 파일 시스템을 초기화했습니다.
  5. 5 패키지 설치
    apt updateopenssh, nginx, php, mariadb를 설치했습니다.
  6. 6 서버 구동
    MariaDB, PHP 내장 서버, Nginx 프록시, SSH 데몬을 각각 별도 포트로 실행했습니다.

구동 구성

구동 포트

  • 127.0.0.1:18082 -> phone:8082 Termux PHP
  • 127.0.0.1:18083 -> phone:8083 Termux Nginx 프록시
  • 127.0.0.1:18022 -> phone:8022 Termux SSH
  • phone:3306 MariaDB 내부 DB

현재 역할

Termux는 스마트폰 안에서 작은 APM 서버처럼 동작합니다. Nginx가 요청을 받고 PHP 페이지로 넘기며, MariaDB는 게시판이나 관리 페이지의 데이터 저장소로 확장할 수 있습니다.

운영 방향

초경량 Android HTTP 서버는 빠른 정적 응답용으로 두고, Termux 서버는 로그인, 글쓰기, DB 저장, 관리 화면처럼 동적인 기능에 붙이는 구성이 좋습니다.

USB IP와 포트 구조

구분 중계 서버 주소 스마트폰 내부 역할
서버 진입 IP 192.168.0.197 USB 연결된 Galaxy Wide3 브라우저에서 보는 기준 서버입니다.
Android 경량 HTTP 127.0.0.1:18080 phone:8080 안드로이드 기본 기능 기반 초경량 HTTP 응답 페이지입니다.
Simple HTTP Server 앱 127.0.0.1:18081 phone:8081 Google Play에서 설치한 파일/정적 페이지 서버입니다.
Termux PHP 127.0.0.1:18082 phone:8082 PHP 8.5.1 내장 서버가 실행 중입니다.
Termux Nginx 127.0.0.1:18083 phone:8083 Nginx 1.30.0이 PHP 서버로 프록시합니다.
Termux SSH 127.0.0.1:18022 phone:8022 OpenSSH 10.3 데몬 접속 포트입니다.
Termux MariaDB 중계 서버 외부 공개 없음 127.0.0.1:3306 MariaDB 12.2.2가 폰 내부에서만 대기합니다.
USB 역테더링 192.168.0.197가 중계 tun0 10.0.0.2/32 폰의 인터넷은 gnirehtet VPN 터널로 받고, 서비스 접속은 ADB 포워딩으로 처리합니다.

설치된 항목과 실행 경로

항목 현재 값 설명
Termux 앱 v0.118.3 공식 GitHub APK로 설치했습니다.
Termux HOME /data/data/com.termux/files/home 웹 파일과 실행 로그를 두는 사용자 홈입니다.
Termux PREFIX /data/data/com.termux/files/usr 패키지, 설정, DB 데이터가 들어가는 기본 경로입니다.
PHP 테스트 페이지 $HOME/www/index.php PHP와 MariaDB 접속 상태를 보여주는 테스트 페이지입니다.
Nginx 설정 $HOME/nginx-phone.conf 8083 요청을 127.0.0.1:8082 PHP 서버로 넘깁니다.
MariaDB 데이터 $PREFIX/var/lib/mysql 설치 과정에서 초기화된 DB 데이터 디렉터리입니다.

서버 구동 명령

현재 서버는 아래 흐름으로 실행했습니다. 폰 재부팅이나 Termux 종료 후에는 같은 방식으로 재기동해야 합니다.

mysqld --basedir=$PREFIX --datadir=$PREFIX/var/lib/mysql --socket=$PREFIX/tmp/mysqld.sock --pid-file=$PREFIX/tmp/mysqld.pid --bind-address=127.0.0.1 --port=3306 php -S 0.0.0.0:8082 -t $HOME/www nginx -c $HOME/nginx-phone.conf sshd -p 8022 adb forward tcp:18082 tcp:8082 adb forward tcp:18083 tcp:8083 adb forward tcp:18022 tcp:8022