在 Ubuntu 上搭建 Nginx + PHP-FPM 环境部署 WordPress

Miles
Miles
发布时间:2026-10-14| 6人浏览过
原创

在 Ubuntu 服务器上自行部署 WordPress 博客,核心在于构建 Nginx、PHP-FPM 和 MariaDB 协同工作的环境。本文将分步讲解如何安装基础软件包、配置进程池与虚拟主机、创建数据库以及处理文件权限,最终实现系统的稳定运行。

一、服务器初始准备

在使用新购买的 VPS 时,首先需要建立连接并进行系统初始化。请使用 SSH 客户端连接到服务器根目录:

ssh root@你的服务器IP

登录时若提示指纹确认,输入 yes 后输入密码即可。为了后续免密登录方便,建议配置 SSH 公钥。

更新系统与软件源,确保拥有最新的软件包列表:

apt-get update
apt-get upgrade

修改主机名(Hostname)为便于管理的名称或域名,编辑 /etc/hostname 和 /etc/hosts 文件:

vi /etc/hostname
vi /etc/hosts

二、安装 Web 环境与数据库组件

本方案采用 Nginx 作为前端 Web 服务器,**PHP-FPM** 作为后端解析器,以及 **MariaDB** 替代 MySQL 进行数据存储。依次执行以下安装命令:

# 安装核心服务及常用辅助工具
apt-get install nginx postfix php5-fpm mariadb-server memcached -y
# 安装 PHP 扩展库(按需选择,此处列出了常用项)
apt-get install php-pear php5-mysql php5-curl php5-gd php5-mcrypt php5-memcache -y
# 安装开发与运维常用工具包
apt-get install python make screen git wget zip unzip iftop vim curl htop iptraf nethogs -y

各组件作用如下:
- Nginx:高性能 Web 服务器。
- Postfix:本地邮件发送支持。
- PHP-FPM:FastCGI 进程管理器。
- MariaDB:关系型数据库。
- Memcached:内存对象缓存系统。

三、安装与配置 WordPress 核心文件

不建议直接使用 root 运行网站程序,应创建专用低权限用户。

  1. 创建用户并进入目录:
adduser wordpress
su wordpress
cd ~
  1. 获取安装包:
    建议访问 WordPress 官方中文网查看最新版链接,以下为示例命令:
wget http://cn.wordpress.org/wordpress-latest-zh_CN.zip
  1. 解压并设置权限:
unzip wordpress-*.zip
# 将 WordPress 文件夹内所有文件权限设置为 750
chmod -R 750 wordpress
  1. 清理安装包并退出至 root 账户:
rm wordpress-*.zip
exit

四、配置 Nginx 与 PHP-FPM 连接

1. PHP-FPM 进程池配置

为隔离资源,建议为 WordPress 创建独立的进程池。新建配置文件:

vi /etc/php5/fpm/pool.d/wordpress.conf

粘贴以下内容,配置监听本地 Unix Socket 以提高性能:

[wordpress]

user = wordpress
group = wordpress

listen = /home/wordpress/phpfpm.sock
listen.owner = wordpress
listen.group = wordpress
listen.mode = 0660

pm = dynamic
pm.max_children = 10
pm.min_spare_servers = 3
pm.max_spare_servers = 5

request_slowlog_timeout = 5s
request_terminate_timeout = 15s
php_admin_value[error_log] = /home/wordpress/phpfpm_error.log
php_admin_flag[log_errors] = On

2. Nginx 站点配置

删除默认站点配置,新建针对 WordPress 的配置块:

rm /etc/nginx/sites-enabled/default
vi /etc/nginx/sites-enabled/wordpress

填入以下配置,注意将 server_name 替换为你的实际域名:

server {
    listen 80;
    server_name yourdomain.com; # 请替换为真实域名

    root /home/wordpress/wordpress;
    index index.html index.php;
    autoindex off;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_pass unix:///home/wordpress/phpfpm.sock;
        include fastcgi_params;
        fastcgi_index index.php;
    }
}

**关键修复**:由于 PHP-FPM 使用了自定义 Socket 路径,需要修正全局 FastCGI 参数中的脚本文件名变量。编辑 /etc/nginx/fastcgi_params,找到 SCRIPT_FILENAME 并将其改为:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

3. 赋予 Nginx 读取权限

Nginx 工作进程通常由 www-data 用户运行,需将其加入 wordpress 用户组以读取网站文件:

usermod -aG wordpress www-data

五、配置 MariaDB 数据库

启动数据库控制台,输入 root 密码登录后执行:

mysql -p

按顺序执行 SQL 语句:

# 1. 创建数据库
CREATE DATABASE `wordpress` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

# 2. 创建数据库用户(请将 'yourpassword' 替换为强密码)
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'yourpassword';

# 3. 授予权限
GRANT ALL PRIVILEGES ON `wordpress`.* TO 'wordpress'@'localhost';
FLUSH PRIVILEGES;
QUIT;

六、重启服务并验证

配置全部完成后,重启服务器以确保所有守护进程加载最新配置:

reboot

重启后,通过浏览器访问配置的域名,即可进入 WordPress 安装向导。在填写数据库信息时,分别输入第四步中创建的数据库名、用户名和密码即可完成部署。

以上就是在 Ubuntu 上配置 Nginx + PHP-FPM 部署 WordPress 的详细内容,更多关于搭建独立博客的知识请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。