LNMP 平台应用部署笔记b


一、LNMP 平台简介

LNMP 代表:
  • Linux: 操作系统
  • Nginx: Web 服务器 / 反向代理服务器
  • MySQL: 数据库服务器
  • PHP: 后端编程语言
工作原理: Nginx 本身不能处理 PHP 等动态语言。当用户请求一个 .php 页面时,Nginx 会通过 fastCGI 协议将请求转发给 PHP-FPM (FastCGI Process Manager) 进程进行处理。PHP-FPM 处理完脚本后,将结果返回给 Nginx,再由 Nginx 发送给用户浏览器。MySQL 则作为应用程序的数据存储。

二、LNMP 平台安装与配置

1. 安装 Nginx

2. 安装 MySQL

3. 安装 PHP 7.4

关键点
  • php-fpm 是与 Nginx 通信的服务,必须启动。
  • 安装的扩展:
    • php-mysqlnd: MySQL 原生驱动,用于连接数据库。
    • php-gd: 图像处理,WordPress 缩略图等功能需要。
    • php-mbstring: 多字节字符串处理,对中文等语言很重要。
    • php-xml: XML 处理,许多 CMS 都需要。
    • php-json:JSON 支持
    • php-sodium:加密支持

三、LNMP 平台测试

1. 测试 Nginx 调用 PHP

  • 创建测试 PHP 文件 (例如:/usr/share/nginx/html/test.php)
  • 访问测试:在浏览器中打开 http://<服务器IP>/test.php
  • 预期结果:应能看到 HTML 标题和 phpinfo() 函数输出的详细 PHP 配置信息页面。

2. 测试 PHP 连接 MySQL 数据库

  • 创建数据库连接测试文件 (例如:/usr/share/nginx/html/dbtest.php)
  • 访问测试:在浏览器中打开 http://<服务器IP>/dbtest.php
  • 预期结果:如果数据库配置正确,应显示绿色的“连接成功!”。

四、部署 WordPress 博客

1. 准备 WordPress 代码

2. 配置 Nginx 虚拟主机

  • 编辑 Nginx 配置文件,通常在 /etc/nginx/conf.d/ 目录下创建一个新文件,如 blog.conf
  • 添加以下服务器块配置:
  • 检查配置并重载 Nginx

3. 配置 MySQL 数据库

  • 登录 MySQL 并为 WordPress 创建数据库和用户。

4. 完成 WordPress 安装

  1. 在浏览器中访问你的服务器域名或 IP 地址 (http://your_domain.com)。
  1. 你将看到 WordPress 的著名 “五分钟安装” 页面。
  1. 填写数据库信息:
      • 数据库名: blog
      • 用户名: buser
      • 密码: WWW.1.com
      • 数据库主机: localhost (如果 MySQL 在本机)
      • 表前缀: wp_ (默认即可,修改可增强安全性)
  1. 点击“提交”,然后运行安装。
  1. 最后设置网站标题、管理员用户名、密码和邮箱,WordPress 就安装完成了。

五、常见问题与排查 (Troubleshooting)

  1. 访问 PHP 文件直接下载而不是执行
      • 原因:Nginx 未正确配置处理 PHP。
      • 解决:检查 location ~ \\.php$ 块配置,确保 fastcgi_pass 指向正确的 PHP-FPM 地址(通常是 127.0.0.1:9000 或 unix socket),并确认 SCRIPT_FILENAME 参数正确。
  1. 502 Bad Gateway 错误
      • 原因:Nginx 无法连接到 PHP-FPM。
      • 解决:确认 php-fpm 服务正在运行 (systemctl status php-fpm)。检查 fastcgi_pass 的地址和端口是否与 PHP-FPM 配置文件 (/etc/php-fpm.d/www.conf) 中的 listen 设置一致。
  1. 文件权限问题 (WordPress 无法安装主题/插件或更新):
      • 原因:Web 服务器用户(如 nginx)对 /web/blog 目录没有写权限。
      • 解决:使用 chown -R nginx:nginx /web/blogchmod -R 755 /web/blog 修正权限。wp-content 目录通常需要 755 或 775 权限。
  1. 无法连接数据库
      • 原因:数据库用户名、密码、数据库名错误,或 MySQL 未运行。
      • 解决:仔细检查 wp-config.php 文件中的配置信息。确认 MySQL 服务已启动。

附:实用命令

🔎 为什么 WordPress 的 HTTP 会一直重定向到 HTTPS?
Loading...