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 理解架构,再按本文操作。
相关页面
- PHP 体系架构 — 概念与部署要点
- LNMP 架构与部署(Day38) — 前置概念
- Nginx 详解 — Nginx 配置基础