We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Использование Termux в качестве мобильного сервера разработки и автоматизации

Подробное руководство по настройке Termux на Android для запуска локальных серверов, работы с Git, Python, Node.js и автоматизации задач. Экспертный обзор от РыбинскЛАБ.

Termux — это мощный эмулятор терминала и среда Linux для Android, работающая без root-прав. Он предоставляет доступ к полноценному пакетному менеджеру pkg (на базе apt), позволяя устанавливать тысячи утилит: git, python, nodejs, nginx, mariadb, openssh и многие другие. Это превращает смартфон в портативную рабочую станцию для разработки, тестирования и автоматизации.

Базовая настройка окружения

После установки Termux из F-Droid или GitHub (версия из Google Play устарела) выполните базовую инициализацию:

pkg update && pkg upgrade -y
pkg install git python nodejs nginx mariadb openssh -y
termux-setup-storage

Команда termux-setup-storage запрашивает доступ к общему хранилищу, что необходимо для работы с файлами проекта.

Запуск локального веб-сервера (Nginx + PHP)

Для тестирования веб-приложений на устройстве настройте Nginx с PHP-FPM:

pkg install php php-fpm -y
mkdir -p ~/nginx/logs ~/nginx/html
cat > ~/nginx/nginx.conf << 'EOF'
worker_processes 1;
events { worker_connections 1024; }
http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    server {
        listen 8080;
        server_name localhost;
        root /data/data/com.termux/files/home/nginx/html;
        index index.php index.html;
        location / {
            try_files $uri $uri/ =404;
        }
        location ~ \.php$ {
            fastcgi_pass unix:/data/data/com.termux/files/usr/var/run/php-fpm.sock;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
    }
}
EOF

Запуск сервисов:

php-fpm -D
nginx -c ~/nginx/nginx.conf

Теперь сервер доступен по адресу http://localhost:8080 на самом устройстве. Для доступа из локальной сети (например, с ноутбука) используйте IP телефона в Wi-Fi — это удобно для кроссплатформенного тестирования без настройки VPN-туннелей.

Работа с Git и синхронизация проектов

Termux позволяет полноценно работать с репозиториями:

git config --global user.name "Your Name"
git config --global user.email "you@example.com"
git clone https://github.com/username/project.git
cd project
# работа с коммитами, ветками, пушем

Для бесшовной синхронизации между устройствами настройте SSH-ключи:

ssh-keygen -t ed25519 -C "termux-mobile"
cat ~/.ssh/id_ed25519.pub
# добавьте ключ в GitHub/GitLab

Автоматизация через cron и systemd-альтернативы

В Termux нет systemd, но есть crond и возможность автозапуска через ~/.termux/boot/:

pkg install cronie -y
mkdir -p ~/.termux/boot
echo 'crond' > ~/.termux/boot/start-cron
chmod +x ~/.termux/boot/start-cron
crontab -e
# добавьте задачи, например:
# 0 2    /data/data/com.termux/files/usr/bin/python ~/scripts/backup.py

Скрипт резервного копирования на Python:

cat > ~/scripts/backup.py << 'EOF'
import tarfile, os, datetime
src = '/data/data/com.termux/files/home/projects'
dst = f'/sdcard/backups/backup_{datetime.date.today()}.tar.gz'
os.makedirs(os.path.dirname(dst), exist_ok=True)
with tarfile.open(dst, 'w:gz') as tar:
    tar.add(src, arcname=os.path.basename(src))
print(f'Backup saved to {dst}')
EOF
chmod +x ~/scripts/backup.py

Работа с базами данных

MariaDB/MySQL в Termux работает стабильно для локальной разработки:

pkg install mariadb -y
mysql_install_db
mysqld_safe -u $(whoami) &
mysql -u root -e "CREATE DATABASE devdb; CREATE USER 'dev'@'localhost' IDENTIFIED BY 'pass'; GRANT ALL ON devdb. TO 'dev'@'localhost';"
# подключение из Python/Node.js: host=127.0.0.1, port=3306

Оптимизация и фоновая работа

Чтобы процессы не убивала система Android:

  • В настройках приложения Termux: «Разрешить фоновую активность», «Игнорировать оптимизацию батареи».
  • Используйте termux-wake-lock для удержания CPU во время длительных задач:
pkg install termux-api -y
termux-wake-lock
# долгая задача
termux-wake-unlock

Безопасность и изоляция

Termux работает в песочнице Android (UID изолирован). Доступ к сети ограничен стандартными правами приложения. Не храните продакшн-секреты в открытом виде — используйте переменные окружения или termux-keychain (требует root). Для удалённого управления настройте SSH-сервер с ключевой аутентификацией и отключите пароли:

pkg install openssh -y
cat > $PREFIX/etc/ssh/sshd_config << 'EOF'
Port 8022
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
EOF
sshd
# подключение: ssh -p 8022 user@phone_ip

Заключение

Termux — уникальный инструмент, превращающий Android-устройство в полноценную Linux-среду для разработки, CI/CD-прогонов, управления серверами и автоматизации рутины. Он идеален для полевой работы, обучения и лёгких продакшн-задач на домашнем железе.

РыбинскЛАБ оказывает услуги по настройке мобильных сред разработки, автоматизации инфраструктуры, аудиту безопасности Linux-систем и разработке скриптов для Termux. Обращайтесь — настроим под ваши задачи.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен и доработан перед публикацией.

Нужна помощь с настройкой Termux, Linux и серверов?

Я оказываю ИТ-услуги: настройка серверов, автоматизация, безопасность, помощь с Linux и инфраструктурой. Материалы сайта — только в ознакомительных и образовательных целях.

Связаться со мной
Поддержать проект