跳到正文
梦随乡兮
Go back

低配小鸡也能飞:1 核 1G 轻量级 WordPress 插件开发环境部署指南(含域名绑定与 HTTPS)

编辑此页

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

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


一、环境准备

1. 选择系统

推荐:

2. 更新系统

sudo apt update && sudo apt upgrade -y

3. 安装常用工具

sudo apt install -y curl wget unzip git ufw htop

4. 设置时区

sudo timedatectl set-timezone Asia/Shanghai

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

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

推荐增加 2GB:

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

检查:

free -h

三、安装 Nginx

sudo apt install nginx -y
sudo systemctl enable nginx

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


四、安装 PHP(推荐 PHP 8.1)

1. 添加 PHP 来源(Ubuntu)

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

2. 安装 PHP-FPM 及扩展

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(更节省内存)

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

初始化:

sudo mysql_secure_installation

按提示全部选「Y」。


六、创建 WordPress 数据库

sudo mysql

执行:

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)

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

加入:

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

重启:

sudo systemctl restart mariadb

八、PHP-FPM 轻量优化

编辑:

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

修改为:

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:

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

推荐:

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

重启:

sudo systemctl restart php8.1-fpm

九、配置 Nginx(绑定域名)

1. 创建网站目录

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

2. 创建域名配置文件

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

内容:

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. 启用站点

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

sudo apt install certbot python3-certbot-nginx -y

自动申请证书并配置 Nginx

sudo certbot --nginx

务必选择:

👉 强制 HTTP → HTTPS 重定向

自动续期检查

sudo systemctl status certbot.timer

十一、安装 WordPress

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

设置权限

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

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

调试日志位置:

wp-content/debug.log

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

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

适合插件开发:


十四、安全强化建议

1. 禁止 XML-RPC

location = /xmlrpc.php {
    deny all;
}

2. 防止暴力破解登录

/etc/nginx/nginx.confhttp{} 添加:

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

在 server{} 添加:

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

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

location ~ /\.git {
    deny all;
}

十五、总结

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

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

如果需要,也可以扩展:

欢迎继续折腾与优化!


编辑此页
Share this post on:

Previous Post
SSH Key 免密登录详解:从原理到多设备配置的完整实践指南
Next Post
从 Debian 转向 Ubuntu:WSL 下更高效的建站环境初始化笔记