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

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

Создание изолированного веб-сервера на Termux: Nginx, PHP-FPM, MariaDB и Let's Encrypt

В этой статье мы рассмотрим, как создать полностью изолированный веб-серверный стек на Termux. Этот подход обеспечивает высокий уровень безопасности и позволяет запускать веб-приложения в контролируемой среде. Мы используем Nginx в качестве обратного прокси и веб-сервера, PHP-FPM для обработки PHP-скриптов и MariaDB в качестве базы данных. Для обеспечения безопасного соединения с использованием HTTPS, мы также настроим автоматическое обновление сертификатов с помощью Let's Encrypt.

Необходимые условия

  • Установленный Termux.
  • Доступ к интернету.

Шаг 1: Обновление и установка зависимостей

pkg update && pkg upgrade
pkg install nginx mariadb php php-fpm wget curl openssl

Шаг 2: Настройка MariaDB

mysql -u root -p
# Установите пароль для root (замените 'your_password' на надежный пароль)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';
# Создайте базу данных (замените 'your_database' на имя вашей базы данных)
CREATE DATABASE your_database; 
# Создайте пользователя с правами на базу данных (замените 'your_user' и 'your_password')
CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'localhost';
FLUSH PRIVILEGES; 
exit;

Шаг 3: Настройка Nginx

# Создайте конфигурационный файл для вашего сайта (например, /data/www/your_site.conf)
mkdir -p /data/www
nano /data/www/your_site.conf
# Добавьте следующую конфигурацию (замените 'your_domain.com' на ваш домен или IP-адрес)
server { 
    listen 80;
    server_name your_domain.com;
    root /data/www;
    index index.php index.html index.htm;

    location / { 
        try_files $uri $uri/ =404;
    }

    location ~ .php$ { 
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/data/data/php-fpm/php-fpm.sock;
    }
}

Шаг 4: Настройка PHP-FPM

# Создайте файл конфигурации для PHP-FPM (например, /data/data/php-fpm/pool.conf)
nano /data/data/php-fpm/pool.conf
# Добавьте следующую конфигурацию (замените 'your_user' на пользователя, от имени которого будет работать PHP-FPM)
[www]
user=www-data
group=www-data
listen = /data/data/php-fpm/php-fpm.sock
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

Шаг 5: Настройка автоматического обновления сертификатов Let's Encrypt

# Установите certbot
pkg install certbot
# Запустите certbot для получения и установки сертификата
certbot --nginx -d your_domain.com
# Следуйте инструкциям на экране.  certbot автоматически настроит Nginx и установит сертификат.

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

# Запустите Nginx
service nginx start
# Запустите MariaDB
service mariadb start
# Запустите PHP-FPM
service php-fpm start

Шаг 7: Проверка работы

Откройте ваш веб-браузер и перейдите по адресу https://your_domain.com. Если все настроено правильно, вы должны увидеть страницу вашего сайта с зеленым замком в адресной строке.

Важно

Этот пример представляет собой базовую конфигурацию. Для реальных проектов вам потребуется настроить конфигурационные файлы Nginx и PHP-FPM в соответствии с вашими потребностями. Также важно регулярно обновлять программное обеспечение для обеспечения безопасности.

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

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

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

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

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