首页主机资讯Debian LNMP如何部署WordPress网站

Debian LNMP如何部署WordPress网站

时间2026-01-20 12:46:03发布访客分类主机资讯浏览995
导读:在 Debian 上部署 WordPress 的 LNMP 实操指南 一 环境准备与版本选择 更新系统并安装常用工具:sudo apt update && sudo apt upgrade -y 确认 Debian 版本:...

在 Debian 上部署 WordPress 的 LNMP 实操指南

一 环境准备与版本选择

  • 更新系统并安装常用工具:sudo apt update & & sudo apt upgrade -y
  • 确认 Debian 版本:cat /etc/debian_version;不同版本的 PHP 包名不同,例如 Debian 12 常用 PHP 8.2,Debian 10/11 常见 PHP 7.4
  • 建议目录结构:网站根目录使用 /var/www/your_domain,便于多站点管理。
  • 防火墙放行(如使用 ufw):sudo ufw allow ‘Nginx Full’。

二 安装与启动 LNMP 组件

  • 安装 Nginx:sudo apt install nginx -y;启动并开机自启:sudo systemctl start nginx & & sudo systemctl enable nginx
  • 安装 MariaDB:sudo apt install mariadb-server mariadb-client -y;执行安全初始化:sudo mysql_secure_installation;启动并开机自启:sudo systemctl start mariadb & & sudo systemctl enable mariadb
  • 安装 PHP 与常用扩展(以 Debian 12 + PHP 8.2 为例):sudo apt install php-fpm php-mysql php-gd php-cli php-curl php-mbstring php-zip php-opcache php-xml php-mysqli -y;启动并开机自启:sudo systemctl start php8.2-fpm & & sudo systemctl enable php8.2-fpm
  • 说明:PHP-FPM 支持两种方式与 Nginx 通信——Unix 套接字(如 /run/php/php8.2-fpm.sock)或 TCP 端口(如 127.0.0.1:9000),下文给出两种配置要点。

三 配置 Nginx 与 PHP-FPM

  • 确认 Nginx 包含站点配置目录:在 /etc/nginx/nginx.conf 的 http 段确保有 include /etc/nginx/sites-enabled/*; (如缺失请添加)。
  • 创建站点配置(示例域名 your_domain):/etc/nginx/sites-available/your_domain
    • 示例内容(使用 Unix 套接字):
      • server { listen 80; server_name your_domain www.your_domain; root /var/www/your_domain/wordpress; index index.php index.html; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /.ht { deny all; } }
    • 启用站点:sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
  • 若使用 TCP 方式(listen = 127.0.0.1:9000),将 fastcgi_pass 改为 fastcgi_pass 127.0.0.1:9000;
  • 权限与进程用户一致性(关键):
    • 常见现象:访问 PHP 出现 502 Bad Gateway,错误日志提示 connect() to unix:/run/php/php8.2-fpm.sock failed (13: Permission denied)
    • 原因:Nginx 与 PHP-FPM 运行用户不一致或套接字权限不匹配
    • 解决其一(统一为 www-data):编辑 /etc/nginx/nginx.conf 将 user 设为 www-data;编辑 /etc/php/8.2/fpm/pool.d/www.conf 确保 user = www-data、group = www-data、listen.owner = www-data、listen.group = www-data;重启两者生效
    • 解决其二(改用 TCP):/etc/php/8.2/fpm/pool.d/www.conf 改为 listen = 127.0.0.1:9000;Nginx 配置相应改为 fastcgi_pass 127.0.0.1:9000;
  • 检查并重载:sudo nginx -t & & sudo systemctl reload nginx。

四 创建数据库与安装 WordPress

  • 登录数据库:sudo mysql -u root -p
  • 创建数据库与用户(请替换为强密码):
    • CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    • CREATE USER ‘wpuser’@‘localhost’ IDENTIFIED BY ‘StrongPassword!’;
    • GRANT ALL PRIVILEGES ON wordpress.* TO ‘wpuser’@‘localhost’;
    • FLUSH PRIVILEGES; EXIT;
  • 部署 WordPress 文件:
    • sudo mkdir -p /var/www/your_domain/wordpress
    • sudo chown -R www-data:www-data /var/www/your_domain
    • cd /var/www/your_domain/wordpress
    • sudo wget https://wordpress.org/latest.tar.gz
    • sudo tar -xzvf latest.tar.gz & & sudo rm latest.tar.gz
  • 浏览器访问域名,按向导填写数据库名 wordpress、用户名 wpuser、密码与数据库主机 localhost 完成安装。

五 安全加固与常见问题

  • 启用 HTTPS(Let’s Encrypt 推荐):
    • 安装 Certbot:sudo apt install certbot python3-certbot-nginx -y
    • 获取并自动配置证书:sudo certbot --nginx -d your_domain -d www.your_domain
    • 建议开启自动续期(系统计划任务已自动包含 certbot renew)
  • 防火墙与端口:sudo ufw allow ‘Nginx Full’(同时放行 80/443
  • 删除测试文件:生产环境删除 /var/www/your_domain/wordpress/info.php(若存在)
  • 常见问题速查:
    • 403 Forbidden:检查目录权限与 Nginx user(应为 www-data),以及是否禁止访问 .ht* 文件
    • 502 Bad Gateway:核对 PHP-FPM 是否运行、套接字路径或 TCP 端口一致、进程用户与权限匹配
    • 上传/安装插件失败:检查 PHP 上传限制与目录可写(wp-content 需 www-data 可写)
    • 后台更新失败:确保目录权限正确、PHP 进程对 wp-content 具备写权限、必要时使用 WP-CLI 更新。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian LNMP如何部署WordPress网站
本文地址: https://pptw.com/jishu/787156.html
PyTorch在Ubuntu上的内存管理 Ubuntu PyTorch支持哪些GPU型号

游客 回复需填写必要信息