本篇文章记录了如何在 1 核 1GB 的廉价 VPS 上部署一个“轻量、稳定、适合 WordPress 插件开发”的在线环境,并包含:

  • LEMP(Nginx + PHP-FPM + MariaDB)轻量部署
  • 面向 1G 内存优化的配置参数
  • 域名绑定 + HTTPS
  • WordPress 调试环境
  • VS Code 远程开发流程
  • 必要的安全配置

这是面向开发者的实践型笔记,可直接执行复现。


一、环境准备

1. 选择系统

推荐:

  • Ubuntu 22.04(最兼容、社区资料最多)
  • 或 Debian 12(更省内存也可)

2. 更新系统

BASH
sudo apt update && sudo apt upgrade -y

3. 安装常用工具

BASH
sudo apt install -y curl wget unzip git ufw htop

4. 设置时区

BASH
sudo timedatectl set-timezone Asia/Shanghai

二、增加 Swap(小内存 VPS 必做)

1GB RAM 的 VPS 必须加 Swap,否则很容易遇到 OOM。

推荐增加 2GB:

BASH
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

检查:

BASH
free -h

三、安装 Nginx

BASH
sudo apt install nginx -y
sudo systemctl enable nginx

轻量、稳定,非常适合低内存服务器。


四、安装 PHP(推荐 PHP 8.1)

1. 添加 PHP 来源(Ubuntu)

BASH
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update

2. 安装 PHP-FPM 及扩展

BASH
sudo apt install -y php8.1 php8.1-fpm php8.1-mysql php8.1-zip php8.1-xml php8.1-curl php8.1-mbstring php8.1-gd php8.1-cli

五、安装 MariaDB(更节省内存)

BASH
sudo apt install mariadb-server -y
sudo systemctl enable mariadb

初始化:

BASH
sudo mysql_secure_installation

按提示全部选「Y」。


六、创建 WordPress 数据库

BASH
sudo mysql

执行:

SQL
CREATE DATABASE wpdev DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'StrongPass123!';
GRANT ALL PRIVILEGES ON wpdev.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

七、MariaDB 内存优化(适配 1G)

BASH
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

加入:

PLAINTEXT
innodb_buffer_pool_size = 128M
innodb_log_file_size = 64M
key_buffer_size = 16M
max_connections = 20
table_open_cache = 200

重启:

BASH
sudo systemctl restart mariadb

八、PHP-FPM 轻量优化

编辑:

BASH
sudo nano /etc/php/8.1/fpm/pool.d/www.conf

修改为:

PLAINTEXT
pm = dynamic
pm.max_children = 2
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 2
pm.max_requests = 200

修改 php.ini:

BASH
sudo nano /etc/php/8.1/fpm/php.ini

推荐:

PLAINTEXT
memory_limit = 96M
upload_max_filesize = 64M
post_max_size = 64M

重启:

BASH
sudo systemctl restart php8.1-fpm

九、配置 Nginx(绑定域名)

1. 创建网站目录

BASH
sudo mkdir -p /var/www/wpdev
sudo chown -R www-data:www-data /var/www/wpdev

2. 创建域名配置文件

BASH
sudo nano /etc/nginx/sites-available/yourdomain.conf

内容:

PLAINTEXT
server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    root /var/www/wpdev;
    index index.php index.html;

    client_max_body_size 64M;

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|svg|webp|ico)$ {
        expires max;
        log_not_found off;
    }
}

3. 启用站点

BASH
sudo ln -s /etc/nginx/sites-available/yourdomain.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

十、配置 HTTPS(Let’s Encrypt)

安装 Certbot

BASH
sudo apt install certbot python3-certbot-nginx -y

自动申请证书并配置 Nginx

BASH
sudo certbot --nginx

务必选择:

👉 强制 HTTP → HTTPS 重定向

自动续期检查

BASH
sudo systemctl status certbot.timer

十一、安装 WordPress

BASH
cd /var/www/wpdev
wget https://wordpress.org/latest.zip
sudo apt install unzip -y
unzip latest.zip
mv wordpress/* .
rm -rf wordpress latest.zip

设置权限

BASH
sudo chown -R www-data:www-data /var/www/wpdev
sudo find /var/www/wpdev -type d -exec chmod 755 {} \;
sudo find -type f -exec chmod 644 {} \;

访问 https://yourdomain.com 完成安装流程。


十二、WordPress 调试模式(插件开发必备)

编辑 wp-config.php:

PHP
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
define( 'SAVEQUERIES', true );

调试日志位置:

PLAINTEXT
wp-content/debug.log

十三、VS Code 远程开发(最丝滑方式)

  1. 本地安装扩展 Remote - SSH
  2. 连接到 VPS
  3. 打开项目目录:
PLAINTEXT
/var/www/wpdev/wp-content/plugins/your-plugin/

适合插件开发:

  • 本地写代码 → 服务器实时生效
  • 独立环境,不受本地代理/WSL/Docker 影响
  • 插件代码放 GitHub 更稳

十四、安全强化建议

1. 禁止 XML-RPC

PLAINTEXT
location = /xmlrpc.php {
    deny all;
}

2. 防止暴力破解登录

在 /etc/nginx/nginx.conf 的 http{} 添加:

PLAINTEXT
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/m;

在 server{} 添加:

PLAINTEXT
location = /wp-login.php {
    limit_req zone=one burst=5 nodelay;
}

3. 禁止访问 .git(开发者必加)

PLAINTEXT
location ~ /\.git {
    deny all;
}

十五、总结

通过以上配置,即便是 1 核 1GB 的廉价 VPS,也能:

  • 稳定运行 WordPress
  • 支持插件开发调试
  • 可在线访问、带 HTTPS
  • 内存占用保持在 600–750MB
  • 性能足够应对个人开发用途

这是一个极其轻量但非常可靠的开发环境方案。

如果需要,也可以扩展:

  • 插件开发模板
  • GitHub 自动同步脚本
  • 多站点 WordPress 环境

欢迎继续折腾与优化!

相关内容

一台 2C4G VPS 上用 1Panel(LEMP + Docker)跑多个 WordPress,优化后后台变慢并出现 EdgeOne 524。本文按时间线复盘:如何从“缓存/超时”误区切换到“容器环回 + Docker 出网被 iptables FORWARD 掐死”的根因定位,最终用 host-gateway + iptables 持久化完成修复,并给出可复制的检查清单。

WordPress运维1Panel

本文以“新买 VPS 从零开始”为主线,记录 Cloudflare Tunnel 的核心原理、两种创建方式(控制台/命令行)、systemd 常驻、YAML 配置、DNS 绑定与常见 502 故障排查,并给出一套更安全的落地实践:服务只监听本机、通过 Tunnel 暴露、再叠加 Access 做强认证。

Cloudflare运维Linux

搜索

开始搜索
↑↓
↵
ESC
Ctrl K快捷键