Termux 搭建 Debian 服务器完整教程

本教程介绍如何在 Termux 环境下搭建完整的 Debian 服务器,包含 PHP、Nginx、MariaDB、phpMyAdmin 等服务。


一、初始环境配置

1.1 安装基础工具

在 Termux 中执行以下命令安装必要工具

1
2
3
pkg update -y
pkg install git -y
pkg install tsu # 安装tsu进入root模式

1.2 安装 Tome 全能容器

Tome 安装步骤
  1. 换清华源 - 加速软件包下载
  2. 安装 Tome 全能
  3. 选择 chroot 容器 - 安装 Debian

二、安装 PHP 7.4

2.1 更新软件包列表

1
2
3
4
5
6
7
8
# 更新软件包列表
apt update
apt list --upgradable

# 确保已安装必要工具
sudo apt update
sudo apt install -y lsb-release ca-certificates apt-transport-https gnupg2 curl wget
sudo apt update

2.2 添加 PHP 源

需要添加 Sury PHP 源才能安装 PHP 7.4

1
2
3
4
5
6
7
# 下载并添加GPG密钥
wget -O- https://packages.sury.org/php/apt.gpg | sudo gpg --dearmor -o /usr/share/keyrings/sury-php.gpg

# 添加源到sources.list
echo "deb [signed-by=/usr/share/keyrings/sury-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list

sudo apt update

2.3 安装 PHP 扩展

blue

1
sudo apt install -y php7.4-cli

green

1
sudo apt install -y php7.4-fpm

orange

1
sudo apt install -y php7.4-mysql php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml php7.4-zip

2.4 验证 PHP-FPM 状态

使用 service 命令检查状态

1
sudo service php7.4-fpm status

检查进程

1
ps aux | grep php-fpm

检查 socket 文件

1
ls -la /run/php/php7.4-fpm.sock

测试配置是否有错误:sudo php-fpm7.4 -t


三、安装 Nginx

3.1 安装 Nginx

1
2
sudo apt update
sudo apt install nginx -y
primary:`/etc/nginx/` ### 3.2 配置站点
Nginx 站点配置说明

sites-available 的配置文件需要软连接进入 sites-enabled

1
ln -s /etc/nginx/sites-available/你的配置文件 /etc/nginx/sites-enabled/

3.3 Nginx 配置文件(支持 IPv6)

完整配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html; # 此处填写项目目录
index index.php index.html index.htm;
server_name _;

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

location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

3.4 安装 DDNS 依赖

1
sudo apt update && sudo apt install jq -y

四、安装 MariaDB

4.1 安装数据库

1
2
3
4
5
6
7
8
9
10
# 先确保包列表是最新的
sudo apt update

# 安装 mariadb-server 会自动安装客户端依赖
sudo apt install -y mariadb-server mariadb-client

# 查看版本
mariadb --version
# 或者
mysql --version

4.2 初始化安全配置

必须先启动 MariaDB 再执行安全配置

1
2
3
4
5
# 启动 MariaDB
/etc/init.d/mariadb start

# 执行安全配置
mysql_secure_installation

4.3 安全配置选项说明

Enter current password for root
请输入数据库密码

Switch to unix_socket authentication [Y/n]
是否切换到 unix_socket 认证

Change the root password? [Y/n]
是否重新设置密码

Remove anonymous users?
要不要删掉匿名用户?

Disallow root login remotely?
禁止 root 用户从外面远程登录数据库

Remove test database and access to it?
要不要删掉系统自带的 test 测试库?

Reload privilege tables now?
现在立刻刷新权限,让刚才所有的安全设置生效


五、安装 phpMyAdmin

5.1 下载并安装

1
2
3
4
5
6
cd /var/www/html
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.3/phpMyAdmin-5.2.3-all-languages.zip
unzip phpMyAdmin-5.2.3-all-languages.zip
mv phpMyAdmin-5.2.3-all-languages phpmyadmin
cd phpmyadmin
cp config.sample.inc.php config.inc.php

5.2 设置权限

1
2
chown -R www-data:www-data /var/www/html/phpmyadmin
chmod -R 755 /var/www/html/phpmyadmin

5.3 修改数据库密码

数据库密码:你的数据库密码

1
2
3
4
5
6
mysql -u root

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '输入密码';

FLUSH PRIVILEGES;
exit

六、服务管理

6.1 启动服务

1
2
3
4
service ssh start
service mariadb start
service php7.4-fpm start
service nginx start

6.2 查看开机自启服务

1
systemctl list-unit-files --type=service --state=enabled

七、安装 Vue3

7.1 安装 Node.js

1
2
sudo apt update
sudo apt install -y nodejs npm

7.2 安装 Vue CLI

1
2
sudo npm install -g @vue/cli
vue --version

7.3 创建 Vue3 项目

1
vue create my-vue3-app

服务状态检查清单

SSH 服务已启动

MariaDB 服务已启动

PHP-FPM 服务已启动

Nginx 服务已启动

防火墙已配置

DDNS 已设置


快捷链接


常见问题

PHP-FPM 无法启动?

检查配置文件语法:

1
sudo php-fpm7.4 -t

检查端口占用:

1
netstat -tlnp | grep 9000

Nginx 502 Bad Gateway?
  1. 检查 PHP-FPM 是否运行
  2. 检查 socket 文件路径是否正确
  3. 检查 Nginx 配置中的 fastcgi_pass 设置
1
ls -la /run/php/php7.4-fpm.sock
数据库连接失败?
  1. 确认 MariaDB 服务已启动
  2. 检查用户名密码是否正确
  3. 检查认证方式是否匹配
1
mysql -u root -p

默认 提示块标签

default 提示块标签

默认 提示块标签

default 提示块标签

primary 提示块标签

success 提示块标签

info 提示块标签

warning 提示块标签

danger 提示块标签