A cozy home office scene with a laptop, notebook, smartphone, and coffee, perfect for productivity.

ubuntu php-fpm wordpress独立站搭建

安装依赖:apt install nginx php-fpm mysql-server php-mysql

配置文件:

root@iZrj943j9z9z4gh8hygs3hZ:/etc/nginx/sites-enabled# pwd
/etc/nginx/sites-enabled

server {
    listen 443 ssl http2;
    server_name www.myfurrystar.com;
    ssl_certificate /root/ssl/myfurrystar.com.pem;
    ssl_certificate_key /root/ssl/myfurrystar.com.key;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256';
    root /var/www/wordpress;
    index index.php index.html index.htm;
    client_max_body_size 100M; 
    # -------------------------
    # -------------------------
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock; #
    }
    location ~ /\.ht {
        deny all;
    }
}
server {
    listen 80;
    server_name www.myfurrystar.com;
    return 301 https://$host$request_uri;  # 跳转到 HTTPS
}

下载WordPress

wget https://wordpress.org/latest.zip

安装:unzip

apt install unzip

解压文件:

unzip latest.zip

然后登陆Mysql,去改密码

mysql -h localhost -u root -p
不需要输入密码

然后改密码:ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password by ‘Hello0808))‘;

然后刷新权限:FLUSH PRIVILEGES;

然后创建数据库:

create database lisa;

然后上传好相关SSL证书。重启NG

配置好域名的DNS解析:

基本就完成了。

最后,再改一下文件上传的大小。

sudo nano /etc/php/8.2/fpm/php.ini

添加如下内容:
# 单个上传文件的最大大小(示例 80M)
upload_max_filesize = 80M

# 所有 POST 数据的总大小(需 ≥ upload_max_filesize,示例 90M)
post_max_size = 90M

重启PHP

sudo systemctl restart php8.3-fpm

再优化一些参数

针对 WordPress 优化 PHP-FPM 参数,可以显著提升性能(尤其是高并发场景),同时避免资源浪费。以下是适合 WordPress 环境的关键优化参数及配置建议:
一、核心参数优化(php-fpm.conf 或 www.conf)
PHP-FPM 的配置文件通常位于 /etc/php/8.2/fpm/pool.d/www.conf(以 PHP 8.2 为例),主要优化进程管理和资源限制。
1. 进程管理模式与数量
WordPress 属于 CPU 轻量、I/O 密集型应用,推荐使用 dynamic 动态进程管理模式。
ini
; 进程管理模式(static/dynamic/ondemand)
pm = dynamic

; 最小空闲进程数(根据服务器内存调整,2核4G建议5-10)
pm.start_servers = 8

; 最大空闲进程数(不超过 pm.max_children)
pm.max_spare_servers = 16

; 最小空闲进程数(避免频繁创建进程)
pm.min_spare_servers = 4

; 最大进程数(核心参数!公式:内存总容量(MB) / 单个PHP进程占用内存(MB))
; 例如:4GB内存,单个进程约50MB → 4096/50 ≈ 80(留20%余量,建议60-70)
pm.max_children = 60
计算方法:通过 ps -ylC php-fpm8.2 --sort:rss 查看单个进程内存占用(RSS 列,单位 KB,除以 1024 得 MB)。
避免设置过大:进程过多会导致内存耗尽,出现 502 Bad Gateway。
2. 请求处理与超时
ini
; 单个进程处理的最大请求数(防止内存泄漏,建议500-1000)
pm.max_requests = 500

; 连接超时时间(秒,WordPress 一般请求较快,设10-30)
request_terminate_timeout = 30

; 进程空闲超时(仅在 ondemand 模式下生效)
pm.process_idle_timeout = 10s
pm.max_requests:每次达到上限后进程会自动重启,解决长期运行的内存泄漏问题。
3. 资源限制
ini
; 单个进程的最大CPU使用率(%,0表示无限制)
rlimit_cpu = 0

; 单个进程的最大文件打开数(默认1024,高并发建议提高)
rlimit_nofile = 65535

; PHP 脚本执行超时(覆盖 php.ini 中的 max_execution_time)
php_admin_value[max_execution_time] = 30
二、PHP 配置优化(php.ini)
部分 php.ini 参数也会影响 WordPress 性能,路径通常为 /etc/php/8.2/fpm/php.ini。
1. 内存限制
ini
; 单个PHP脚本可使用的最大内存(WordPress 建议至少128M,插件多可设256M)
memory_limit = 256M
2. 缓存相关
ini
; 开启OPcache(显著提升PHP执行速度,必开!)
opcache.enable = 1
opcache.memory_consumption = 128  ; OPcache内存大小(MB)
opcache.interned_strings_buffer = 16  ; 字符串缓存大小(MB)
opcache.max_accelerated_files = 10000  ; 缓存文件数量(WordPress+插件约几千)
opcache.revalidate_freq = 60  ; 多久检查文件更新(秒,生产环境可设更大)
OPcache 作用:预编译 PHP 脚本为字节码,避免重复解析,WordPress 页面加载速度可提升 2-5 倍。
3. I/O 优化
ini
; 关闭不必要的访问日志(减少磁盘I/O)
access_log = /dev/null

; 上传临时文件目录(建议放在 tmpfs 临时分区,减少磁盘写入)
upload_tmp_dir = /dev/shm/php_uploads


需先创建目录并授权:sudo mkdir -p /dev/shm/php_uploads && sudo chown www-data:www-data /dev/shm/php_uploads
三、配置生效与监控
重启 PHP-FPM:
bash
sudo systemctl restart php8.3-fpm

个人微信:ssevening

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注