LNMP 部署实操 — PHP 程序部署指南

来源:Egon 林海峰 — web 层部署 PHP 程序 原始文件:raw/web层部署php程序 – Egon林海峰.md 前置概念:LNMP 架构与部署(Day38)

内容概要

本文是 LNMP 架构的实操部署指南,与 Day38 的概念讲解互补。按步骤完成从裸机到 WordPress 上线的完整流程。

部署步骤总览

1. 系统环境准备

关闭 SELinux、firewalld,清空 iptables 规则。

2. 安装 Nginx

  • 配置官方 yum 源(/etc/yum.repos.d/nginx.repo
  • yum install nginx* -y,启动并设置开机自启

3. 安装 MySQL 5.7

  • 通过 MySQL 官方 yum 源安装 mysql-community-server
  • 获取临时密码:grep 'temporary password' /var/log/mysqld.log
  • 执行 mysql_secure_installation 加固:改密码、删匿名用户、禁止 root 远程登录、删 test 库
  • 备选方案:使用 MariaDB

4. 安装 PHP-FPM(PHP 7.4)

  • 安装 epel 源 + remi 源
  • yum install php74-php-* 系列包(gd/pdo/mbstring/cli/fpm/mysqlnd)
  • 默认以 socket 方式启动;如需 TCP 端口需修改 listen = 127.0.0.1:9000

5. 配置 Nginx 代理 PHP-FPM

location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

6. 部署 WordPress

  • 下载解压到 web 根目录
  • 创建数据库和用户
  • 浏览器访问完成 Web 安装
  • 关键原理:index 指令触发二次 location 匹配(location / → 找 index.php → 匹配到 location ~ \.php$

7. 排错要点

  • 403 权限:chown -R nginx:nginx wordpress
  • SCRIPT_FILENAME 配置:推荐 $document_root$fastcgi_script_name 而非硬编码路径

与 Day38 的关系

Day38 侧重架构原理(协议演进、组件角色、上下游协议匹配),本文侧重步进式部署命令。两者互为补充,建议先读 Day38 理解架构,再按本文操作。

相关页面