当前位置: 首页 > article >正文

智能手机上用Termux安装php+Nginx

Termux的官方网站:Termux | The main termux site and help pages.

以下是在 Termux 上安装和配置 PHP + Nginx 的完整流程总结,包含关键步骤和命令:

一、安装依赖

pkg update && pkg upgrade # 更新包列表和系统pkg install nginx php php-fpm # 一次性安装Nginx、PHP和PHP-FPM

二、配置 PHP-FPM

1. 修改 PHP-FPM 监听方式(Unix Socket)

 nano $PREFIX/etc/php-fpm.d/www.conf

找到以下配置并修改:

listen = /data/data/com.termux/files/usr/var/run/php-fpm.sock # 使用Unix Socket通信listen.owner = u0_aXXX # 替换为你的Termux用户名(通过 `id` 命令查看)listen.group = u0_aXXXlisten.mode = 0666

2. 启动 PHP-FPM

php-fpm -D # 以守护进程模式启动

三、配置 Nginx

1. 修改 Nginx 配置文件

 nano $PREFIX/etc/nginx/nginx.conf

找到server块,修改以下内容:

 server {listen 8080; # 监听端口server_name localhost;root /data/data/com.termux/files/home/www; # 网站根目录location / {index index.html index.php; # 添加PHP支持}location ~ \.php$ {fastcgi_pass unix:/data/data/com.termux/files/usr/var/run/php-fpm.sock; # 指向PHP-FPM Socketinclude fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;}}

2. 创建网站根目录

mkdir -p ~/www # 创建网站根目录chmod 755 ~/www # 设置目录权限

3. 启动 Nginx

nginx # 启动Nginx

四、验证环境

1. 创建测试文件

echo "<?php phpinfo();" > ~/www/test.php

2. 访问测试页面

curl http://localhost:8080/test.php # 命令行测试

# 或

xdg-open http://localhost:8080/test.php # 浏览器打开

• 成功输出:显示 PHP 信息页面。

• 失败排查:

 tail -f $PREFIX/var/log/nginx/error.log # 查看Nginx错误日志pgrep -a php-fpm # 检查PHP-FPM是否运行

五、常用命令

表格
操作命令
重启 Nginxpkill -9 nginx && nginx 
重启 PHP-FPMpkill -9 php-fpm && php-fpm -D 
查看PHP 版本php -v 
查看Nginx版本nginx -v

六、常见问题

1. 502 Bad Gateway

    • 确保 PHP-FPM 已启动。

    • 检查 Nginx 配置中的fastcgi_pass路径是否与 PHP-FPM 的listen配置一致。

2. 权限被拒绝

    • 修改 Socket 文件权限:chmod 777 /data/data/com.termux/files/usr/var/run/php-fpm.sock(临时)。

    • 或永久修复:调整 PHP-FPM 配置中的listen.owner和listen.group。

3. PHP 代码未执行

    • 确保 Nginx 配置中包含location ~ \.php$块。

    • 检查文件权限:chmod 644 ~/www/*.php。

通过以上步骤,你可以在 Termux 上搭建一个完整的 PHP + Nginx 开发环境。如果遇到其他问题,请提供具体的错误日志以便进一步排查。

http://www.lryc.cn/news/2396463.html

相关文章:

  • 【线上故障排查】缓存穿透攻击的识别与布隆过滤器(面试题 + 3 步追问应对 + 案例分析)
  • Visual Studio 调试中 PDB 与图像不匹配
  • 设计模式——策略设计模式(行为型)
  • 保持本地 Git 项目副本与远程仓库完全同步
  • 高效Excel数据净化工具:一键清除不可见字符与格式残留
  • 设计模式——模版方法设计模式(行为型)
  • Deepin 20.9社区版安装Docker
  • Node.js 全栈技术栈的开发者,Web3 面试题
  • 纯数据挖掘也能发Microbiome?
  • 2025年05月30日Github流行趋势
  • 跨平台猫咪桌宠 BongoCat v0.4.0 绿色版
  • 【课堂笔记】标签传播算法Label Propagation Algorithm(LPA)
  • Dify案例实战之智能体应用构建(一)
  • 从模式到架构:Java 工厂模式的设计哲学与工程化实践
  • docker问题记录
  • 设计模式——代理设计模式(结构型)
  • Elasticsearch的集群管理介绍
  • Spring MVC + Tomcat 8.5 踩坑实录:Servlet 版本引发的部署失败
  • 从“固定“到“流动“:移动充电如何重塑用户体验?
  • 玩客云 OEC/OECT 笔记(1) 拆机刷入Armbian固件
  • docker环境添加安装包持久性更新
  • GIS数据类型综合解析
  • VR 汽车:引领生产与设计的革命性飞跃​
  • Prometheus + Grafana 监控常用服务
  • 6月1日星期日今日早报简报微语报早读
  • 盲盒经济2.0:数字藏品开箱是否适用赌博法规
  • 如何在 Ubuntu 24.04 服务器上安装 Apache Solr
  • unity编辑器扩展dll形式展示
  • vscode中launch.json、tasks.json的作用及实例
  • UI自动化测试中的元素等待机制解析