全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

php在Linux怎么部署_LNMP环境搭建PHP服务的详细指南【指南】

应先确认系统类型再配置PHP环境:CentOS/RHEL需添加Remi源启用PHP 8.2,Ubuntu/Debian需启用universe源;LNMP必须用php-fpm而非mod_php;Nginx需正确配置fastcgi_pass并验证php-fpm运行状态;注意MySQL用户权限、扩展加载及SELinux等权限问题。

确认 Linux 发行版和软件源状态

不同发行版的包管理器和默认仓库内容差异很大,直接 yum install phpapt install php 可能装到过时版本(如 PHP 7.4),甚至缺关键模块(如 php-fpmphp-mysqlnd)。务必先查清系统类型:

cat /etc/os-release
。CentOS/RHEL 8+ 默认用 dnf,且官方源已移除 PHP;Ubuntu 22.04 默认带 PHP 8.1,但扩展需单独安装。

  • Debian/Ubuntu:确保启用 universe 源(/etc/apt/sources.list 中含 deb http://archive.ubuntu.com/ubuntu jammy universe
  • CentOS Stream / Rocky Linux:必须添加 Remi 仓库(dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm),再启用 PHP 8.2 模块:dnf module enable php:remi-8.2
  • 跳过 EPEL 单独装 PHP —— 它不提供主 PHP 包,只补工具类扩展

安装 Nginx + PHP-FPM 而非 mod_php

LNMP 中 PHP 必须以 php-fpm 方式运行,Nginx 本身不解析 PHP 文件。装错成 Apache 的 libapache2-mod-php 或 Nginx 的 php-cgi(已废弃)会导致 502 Bad Gateway 或 404。

  • 安装命令示例(Ubuntu 22.04):apt install nginx php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
  • 关键配置文件路径:/etc/php/8.1/fpm/pool.d/www.conf(监听套接字或端口)、/etc/nginx/sites-enabled/default(Nginx 需 proxy_pass 到 unix:/run/php/php8.1-fpm.sock127.0.0.1:9000
  • 务必检查 php-fpm 是否启用并运行:systemctl is-enabled php8.1-fpmsystemctl status php8.1-fpm,否则 Nginx 请求会超时

验证 PHP 是否被 Nginx 正确调用

常见错误是 Nginx 配置里漏了 fastcgi_pass,或 fastcgi_param SCRIPT_FILENAME 指向错误路径,导致返回空白页或直接下载 .php 文件。

  • /var/www/html/info.php 写:
  • Nginx server 块中必须包含:
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    }
  • 若看到下载 info.php,说明 Nginx 根本没把请求交给 PHP-FPM —— 检查 location 是否被更宽泛的规则(如 location /)覆盖,或 fastcgi_pass 地址与 php-fpm 实际监听地址不一致

MySQL 连接权限与 PHP 扩展加载问题

PHP 脚本能跑 phpinfo() 不代表能连数据库。两个高频断点:MySQL 用户未授权远程(或 localhost)访问,以及 mysqlipdo_mysql 扩展未启用。

  • 检查扩展是否加载:php -m | grep -E 'mysqli|pdo_mysql';若无输出,编辑 /etc/php/8.1/fpm/php.ini,取消注释 extension=mysqliextension=pdo_mysql,然后重启 php8.1-fpm
  • MySQL 创建用户时别用 'user'@'%' 就完事 —— 若 PHP-FPM 与 MySQL 同机,Nginx 传来的连接常是 localhost,需显式建 'user'@'localhost'GRANT 权限
  • mysqli_connect() 报错 Connection refused:优先查 mysql.service 是否运行,再查 bind-address 是否设为 127.0.0.1(而非 0.0.0.0 或注释掉)
Nginx 的 root 目录权限、PHP-FPM 的 user/group(默认 www-datanginx)、SELinux 策略(RHEL 系默认开启)——这三个地方出问题,比 PHP 语法错误更难定位。


# mysql  # php  # linux  # centos  # html  # php8  # apache  # nginx  # 端口  # ubuntu  # 工具  # gateway  # xml  # cURL  # mysqli  # CGI  # var  # default  # location  # 数据库  # http  # https  # debian  # unix  # 而非  # 加载  # 发行版  # 设为  # 不代表  # 管理器  # 报错  # 重启  # 它不  # 这三个 


相关文章: 较简单的网站制作软件有哪些,手机版网页制作用什么软件?  黑客如何利用漏洞与弱口令入侵网站服务器?  如何在西部数码注册域名并快速搭建网站?  如何用已有域名快速搭建网站?  建站主机类型有哪些?如何正确选型  建站之星后台管理如何实现高效配置?  如何有效防御Web建站篡改攻击?  制作公司内部网站有哪些,内网如何建网站?  内部网站制作流程,如何建立公司内部网站?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  如何快速启动建站代理加盟业务?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  高防服务器租用如何选择配置与防御等级?  ,南京靠谱的征婚网站?  如何选择域名并搭建高效网站?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  如何快速搭建二级域名独立网站?  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  如何快速建站并高效导出源代码?  智能起名网站制作软件有哪些,制作logo的软件?  *服务器网站为何频现安全漏洞?  学校建站服务器如何选型才能满足性能需求?  如何选择香港主机高效搭建外贸独立站?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  韩国服务器如何优化跨境访问实现高效连接?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  名字制作网站免费,所有小说网站的名字?  怎么将XML数据可视化 D3.js加载XML  建站主机是否属于云主机类型?  如何在建站之星网店版论坛获取技术支持?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  学校为何禁止电信移动建设网站?  如何通过FTP服务器快速搭建网站?  python的本地网站制作,如何创建本地站点?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  建站主机如何安装配置?新手必看操作指南  如何通过商城自助建站源码实现零基础高效建站?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  寿县云建站:智能SEO优化与多行业模板快速上线指南  高性价比服务器租赁——企业级配置与24小时运维服务  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  建站DNS解析失败?如何正确配置域名服务器?  如何通过虚拟主机空间快速建站?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  大型企业网站制作流程,做网站需要注册公司吗?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。