구동 포트
127.0.0.1:18082->phone:8082Termux PHP127.0.0.1:18083->phone:8083Termux Nginx 프록시127.0.0.1:18022->phone:8022Termux SSHphone:3306MariaDB 내부 DB
Termux는 PHP, MariaDB, Nginx, SSH 같은 서버 기능을 담당합니다. 현재 기준으로 PHP와 Nginx 응답이 확인되었고, PHP에서 MariaDB 접속 성공 상태를 확인했습니다.
52005ac553fe8505
18082 -> 8082 응답 확인
18083 -> 8083 PHP 프록시
3306, PHP 접속 성공
18022 -> 8022 배너 확인
SM-J737S, Android 10, ABI armeabi-v7a로 확인했습니다.
v0.118.3 중 armeabi-v7a APK를 사용했습니다.
adb install -r로 스마트폰에 설치했습니다.
/data/data/com.termux/files 내부 파일 시스템을 초기화했습니다.
apt update 후 openssh, nginx, php, mariadb를 설치했습니다.
127.0.0.1:18082 -> phone:8082 Termux PHP127.0.0.1:18083 -> phone:8083 Termux Nginx 프록시127.0.0.1:18022 -> phone:8022 Termux SSHphone:3306 MariaDB 내부 DBTermux는 스마트폰 안에서 작은 APM 서버처럼 동작합니다. Nginx가 요청을 받고 PHP 페이지로 넘기며, MariaDB는 게시판이나 관리 페이지의 데이터 저장소로 확장할 수 있습니다.
초경량 Android HTTP 서버는 빠른 정적 응답용으로 두고, Termux 서버는 로그인, 글쓰기, DB 저장, 관리 화면처럼 동적인 기능에 붙이는 구성이 좋습니다.
| 구분 | 중계 서버 주소 | 스마트폰 내부 | 역할 |
|---|---|---|---|
| 서버 진입 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