1. 为什么现在建站,我依然劝你先看一眼 WordPress?
很多程序员一提到做网站,第一反应都是全栈一把梭:Next.js、Astro,配个 Headless CMS 甚至自己手搓一套后端。
但折腾几年后你会发现,写业务代码最爽的时候,往往就是后期维护最痛苦的时候。当你想给博客加个多语言、搞个带缩略图的 RSS、或者让不懂技术的运营同事发篇图文排版正常的文章时,自研系统分分钟把你的业余时间吞噬干净。
WordPress 确实有其历史包袱(比如祖传的 PHP 代码和杂乱的数据库表结构),但它的生态壁垒太厚了:
- 凡是你能想到的功能,99% 都有现成、成熟的插件帮你擦屁股。
- 它对搜索引擎的抓取逻辑理解极深,URL 重写、Sitemap、Schema 结构化标记都不需要你手动写脚本去配。
- 退一万步说,就算你以后想重构前端,WP 原生也自带 REST API 和 GraphQL 支持,直接当成纯内容后台接你自己的前端,退路随时都在。
建站的核心目的是交付内容或验证商业想法,而不是为了证明自己会写代码。
2. 域名这事,别在第一步就踩坑
注册域名看似点两下鼠标,但有些坑没踩过是真不知道疼:
- 看清楚续费价格:很多注册商首年只要 1 美元,第二年续费直接涨到 30 美元。做海外或免备案网站,我个人最推荐 Cloudflare Registrar,原价成本转售,不赚差价,没有续费刺客;国内做需要备案的正规业务,老老实实选 阿里云 或 腾讯云,后续走工信部和公安备案链路会少掉很多扯皮。
- 隐私保护一定要开:选那些提供免费 WHOIS 隐私保护的平台。否则域名刚付完款半小时,你的手机号和邮箱就会被全球各地的外包建站营销短信轰炸到怀疑人生。
- 解析直接扔给 Cloudflare:无论你在哪买的域名,DNS 解析都建议托管到 Cloudflare 上。不仅全球生效只要几秒钟,还能顺手白嫖它的基础防 DDoS 能力。
3. 选服务器:别迷信大厂,也别买“玩具机”
服务器配置不用太高,但绝对不能选“缩水严重”的入门机。
| 方案类别 | 代表平台 | 真实使用体验与建议 |
|---|---|---|
| 国内大厂海外轻量机 | 腾讯云 / 阿里云 (东京/新加坡/中国香港) | 性价比很高。月付 20 |
| 海外极客 VPS | Hetzner、DigitalOcean | Hetzner 的性价比极其残暴(同配置便宜大碗性能强),但国内直连晚高峰会有点堵,做纯出海业务闭眼入。 |
| 全托管 SaaS | Rocket.net、Kinsta、WP Engine | 花钱买省心。机器配置全给你调好了,自带企业级 CDN,但一个月几百块起步。预算充足、不想碰 Linux 命令行的团队再考虑。 |
两个掏心窝子的硬件建议:
- 别买 1 核 1G 的机器:除非你只跑纯静态页面。WordPress 后台装上两三个插件,后台跑个定时任务,MySQL 就会因为内存不够直接被 Linux 系统的 OOM Killer 干掉,网站一天挂三次。起步请老老实实选 2 核 2G。
- 硬盘必须认准 NVMe SSD:WP 后台要频繁读取大量小文件碎片,机械硬盘或普通云盘会让你在后台保存一篇文章卡好几秒。
4. 控制面板怎么选?
以前大家习惯装 LAMP / LNMP 脚本,后来流行可视化面板。目前有三条路可以走:
- Docker Compose(强烈推荐,最干净的做法): 不依赖任何第三方 Web 面板,机器不需要装乱七八糟的常驻服务,一个
yaml文件把 Web、数据库全隔离搞定。后面想换服务器,连着文件夹一打包,直接在新机器docker compose up -d就原地满血复活。 - 1Panel(目前国内最好的现代化面板): 如果你一定要用图形化界面看 CPU、内存占用,推荐开源的 1Panel。它的所有运行环境都在容器里跑,不污染底层系统,比传统的宝塔面板更轻巧、更透明。
- 老牌宝塔(aaPanel): 装机量最大,资料最好搜。如果用,建议找海外版(aaPanel),国内版强制绑手机号和各种云端审计,洁癖党大概率受不了。
附上一套我一直在用的 Docker Compose 生产底座配置(替换自己的密码即可):
services:
db:
image: mariadb:10.11
container_name: wp_db
restart: always
environment:
MYSQL_ROOT_PASSWORD: YourStrongRootPassword
MYSQL_DATABASE: wordpress
MYSQL_USER: wpuser
MYSQL_PASSWORD: YourStrongUserPassword
volumes:
- db_data:/var/lib/mysql
wordpress:
image: wordpress:latest
container_name: wp_app
restart: always
depends_on:
- db
ports:
- "127.0.0.1:8080:80" # 仅暴露给本地,外部走 Nginx 反代
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wpuser
WORDPRESS_DB_PASSWORD: YourStrongUserPassword
WORDPRESS_DB_NAME: wordpress
volumes:
- wp_data:/var/www/html
volumes:
db_data:
wp_data:
5. 缓存调优:告别 WordPress“慢卡顿”的恶名
没有调过优的 WP,每个访客点开一篇文章,服务器就要调几十次数据库查询并用 PHP 实时渲染,并发一上来机器直接当场死给你看。优化核心就八个字:能静态化,绝不动态。
第一步:救命用的 Swap(小内存机器必做)
如果你的服务器内存只有 1G~2G,开机第一件事就是手动划一块虚拟内存:
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
这个操作不一定能提速,但能确保你高并发或升级插件时,机器不会当场宕机。
第二步:上页面缓存(Page Cache)
给后台装一个 WP Super Cache 或者 Cache Enabler。 它们做的事情其实很简单:把渲染好的网页存成一份纯 .html。下一个用户访问时,服务器直接吐出静态文件,根本不走 PHP 和数据库,性能直接提升一个数量级。
第三步:把图片从服务器剥离出去
这是很多新手最容易忽略的地方。别把几百张图片堆在服务器本地:
- 用 Cloudflare R2 或者 腾讯云 COS 接对象存储插件。
- 用户看图走的是对象存储和 CDN,不仅不吃服务器那点可怜的小带宽,服务器迁移备份时体积也能缩水 90%。
6. 长期运维:别等数据丢了才流泪
把网站搭起来只是第一步,想让它安安稳稳跑几年,记住下面这几个硬规矩:
- 备份!必须异地备份! 不要相信任何云厂商的“数据永不丢失”承诺。装个 UpdraftPlus 插件,设置好每周全量备份、每日增量备份,并且强制备份自动上传到你的 Google Drive、S3 或网盘。保存在本地硬盘上的备份,在服务器被误删或挂掉时毫无意义。
- 关闭那个鸡肋的 WP-Cron WordPress 默认的定时任务(发定时文章、检查更新)是靠“有人访问网站”来触发的。没人访问它不跑,流量大的时候每来一个请求它都去检查一次,纯属浪费算力。 在
wp-config.php里加一行:define('DISABLE_WP_CRON', true);然后在 Linux 系统里加个原生的定时任务,让它每 10 分钟悄悄在后台跑一次:*/10 * * * * curl -s https://你的域名/wp-cron.php?doing_wp_cron > /dev/null 2>&1 - 改掉后台登录地址,防机器爆破 你的网站只要上线,每分每秒都会有全球各地的爬虫在穷举扫你的
/wp-login.php。 装一个 WPS Hide Login,把后台入口改成一段只有你自己知道的路径(比如/my_secret_door),再配合 Limit Login Attempts Reloaded 限制输错密码的次数。99% 的脚本小子扫不到登录口,就只能灰溜溜地走人。