从零搭建独立博客:域名购买、服务器部署、SSL证书与WordPress完整教程

互联网时代,个人表达的方式有很多种。微博、公众号、知乎专栏——平台提供了便利,却也在无形中套上了枷锁。算法推荐、内容审核、账号归属权,这些问题每一个都足以让创作者感到掣肘。独立博客依然是最自由的选择:你拥有自己的域名、自己的服务器、自己的一切内容。没有算法能决定你的文章该不该被看见,没有平台能在一夜之间封禁你的账号。

搭建一个独立博客听起来复杂,但实际上只要掌握了正确的流程,三四个小时就能让一个完全从零开始的人把博客跑起来。这篇文章将从头开始,手把手地覆盖:域名的选择与购买、DNS解析的原理、服务器的选择与系统安装、Nginx + PHP + MySQL 环境配置、Let's Encrypt 免费SSL证书申请、以及 WordPress 的完整安装与基础配置。

整个教程以实用为导向。所有步骤都经过实际验证。读完这篇文章,你将拥有一个完全属于你自己的、运行在 HTTPS 下的 WordPress 博客。

域名是互联网上的门牌号。在浏览器里输入 www.example.com, DNS 系统把这个域名翻译成服务器的数字 IP 地址(类似 192.168.1.1),然后浏览器去那个 IP 的服务器请求数据。没有域名,你就只能让人记住一串数字——这对于个人博客来说完全是自找麻烦。

TLD(顶级域名) 是域名的最后部分,.com、.cn、.org 都是 TLD。常见 TLD 的价格差异很大:.com 正常价格约 60-80 元/年,续费同价;.cn 约 30-50 元/年;而一些新顶级域名如 .xyz、.online 首年只需要几块钱。TLD 的选择影响品牌形象——.com 最通用,.cn 适合国内中文内容,.io 常用于技术类项目。

二级域名 是顶级域名前面的部分,比如 www.example.com 中的 www 就是二级域名,blog.example.com 中的 blog 也是二级域名。顶级域名本身(如 example.com)有时也被称为二级域名,因为完整的域名是从右往左阅读的。

注册商 是负责管理域名销售和解析的机构。全球有上千家注册商,但真正拥有域名注册资质的 registrar 并不多,大多数是通过代理商销售。国内常用的有阿里云(万网)、腾讯云、华为云;国外主流的有 Namecheap、GoDaddy、Google Domains、Cloudflare Registrar。价格差异明显:同样一个 .com 域名,在 GoDaddy 首年可能卖 0.99 美元但续费要 15 美元以上;在阿里云通常稳定在 60-80 元/年;在 Cloudflare 注册价格接近成本价,约 7-8 美元/年且续费同价。

第一,短而有意义。域名越短越容易记忆,也越有价值。4-6 个字母的 .com 域名几乎已经被抢光了,但仍然可以通过创造性的组合找到可用的名字。可以结合自己的名字、兴趣方向或者项目名称来命名,比如 fenxi.co(分析)、devlog.io(开发日志)、notecloud.cn(笔记云)。

第二,避免连字符和数字。带连字符的域名(如 my-blog.com)看起来不够专业,输入时也容易出错。数字和字母混合的域名(如 w36.cn)更难记忆。除非是已有品牌的延续,否则不建议选择这种格式。

第三,检查商标冲突。在购买之前,建议在 Google 和商标数据库里搜索一下这个名字,确保没有侵犯已有商标。虽然个人博客通常不会收到商标投诉,但万一你以后做大了被人找上门,就会很麻烦。

第四,选择合适的 TLD。如果你的目标是做中英文内容兼顾的博客,.com 永远是第一选择。如果是面向国内用户,可以考虑 .cn 但要注意国内域名需要实名认证。如果是技术类博客,.io 是个很酷的选择但价格偏高。如果是公益或开源项目,.org 是传统选择。

阿里云(万网)是中国最大的域名注册商之一,购买流程清晰,适合国内用户。以下是具体步骤:

第一步,访问阿里云官网,注册并登录账号,完成实名认证。国内注册 .cn 等国别域名的注册商都要求实名,否则域名无法正常使用。

第二步,在搜索框里输入你想注册的域名名称,系统会实时显示哪些后缀还能注册。价格会标注在列表里,通常 .com 显示的价格是首年价格,续费价格可能会在详情页显示。

第三步,加入购物车并结算。阿里云支持支付宝和微信支付,付款后域名基本上是即时到账的。如果域名提示需要等待审核(某些国别域名如 .io、.ai 可能需要人工确认),通常几个小时到一两天内也会完成。

第四步,付款完成后,进入"控制台 - 域名"页面,可以看到已购买的域名列表。点击域名进入解析设置页面,这就是后面要配置的 DNS 解析控制台。

域名信息是公开的,任何人通过 WHOIS 查询都能看到域名的注册人姓名、邮箱和电话。这带来了严重的垃圾邮件和骚扰问题。解决办法是购买"隐私保护"服务(WHOIS Privacy),将注册商的联系信息替换掉你的真实信息。

在阿里云购买域名时,默认会有一个"隐私保护"的选项,费用大约是 20 元/年。建议开启这个服务。如果是在 Namecheap 或 Cloudflare Registrar 注册,默认就提供免费的 WHOIS 隐私保护。

建立 WordPress 博客需要一台服务器来存放网站文件、运行 PHP 代码、连接数据库。在选择服务器类型之前,先理解几种常见方案的区别:

虚拟主机(Shared Hosting) 是最入门级的方案。多个网站共享同一台物理服务器的资源(CPU、内存、硬盘)。服务商已经预装好了 WordPress,你只需要上传内容。优点是价格便宜(有的虚拟主机每年只需要几十元)、操作简单;缺点是性能受限、无法自定义服务器环境、流量大时容易卡顿。Bluehost、HostGator 等是常见提供商。这种方案适合纯新手,但局限太多,不推荐。

VPS(Virtual Private Server) 是虚拟独立服务器。一台物理服务器通过虚拟化技术分割成多个独立的虚拟服务器,每个 VPS 有自己独立的操作系统、资源和 root 权限。你拥有完整的控制权,可以安装任何软件、配置任何环境。价格从每月 20 元到几百元不等。DigitalOcean、Vultr、Linode 是主流的国际 VPS 提供商;国内的阿里云、腾讯云也提供类似产品。VPS 是目前搭建个人博客最流行的选择,性能和价格达到了良好的平衡。

云服务器(Cloud Server) 本质上也是 VPS,但通常提供更灵活的资源扩展方式和按量计费模式。AWS、Google Cloud、阿里云 ECS 都属于这一类。优点是弹性好,流量高峰时可以临时升级;缺点是需要一定的技术知识来优化成本。对于个人博客来说,云服务器略微"奢侈",除非你有特殊需求。

推荐选择:对于绝大多数个人博客来说,VPS 是最佳选择。每月 20-60 元的预算就能获得稳定、快速的服务器性能。以下以 DigitalOcean 为例进行说明,因为它界面简洁、文档丰富、价格透明,非常适合学习。

DigitalOcean 是全球最受欢迎的 VPS 提供商之一,提供简洁的控制面板、高性价比的套餐和丰富的社区文档。每月 4 美元的基础套餐(1CPU + 1GB 内存 + 25GB SSD)对个人博客来说足够用了,如果访问量较大,可以选择每月 6-8 美元的套餐。

第一步,访问 DigitalOcean 官网,点击 Sign Up,填写邮箱和密码。验证邮箱后需要绑定信用卡或 PayPal。首次注册可能会获得 60-200 美元的试用额度(根据推广活动而定)。

第二步,创建第一个"Droplet"(即 VPS 实例)。在控制台点击 Create Droplet,选择以下配置:

  • Choose an image: 选择 Ubuntu 22.04 LTS(长期支持版,稳定可靠) - Choose a plan: Basic, Regular 模式,选择 4 美元/月或 6 美元/月的配置 - Choose a datacenter region: 选择旧金山(SFO)或纽约(NYC)节点,距离国内用户较近,延迟可接受。如果用户主要在国内,可以选腾讯云或阿里云的国际节点 - Authentication: 选择 SSH Key(更安全)或密码(更简单),建议设置强密码 - Finalize: 设定主机名(比如 my-blog-server),点击 Create
  • 等待约 60 秒,Droplet 创建完成,服务器 IP 地址会通过邮件发送给你。

    拿到服务器 IP 后,需要通过 SSH 连接到服务器来执行命令。SSH(Secure Shell)是一种加密的远程登录协议,Linux 服务器的标准管理方式。

    在 Mac 或 Linux 系统上,打开终端,输入以下命令:

    如果是 Windows 系统,建议下载 PuTTY 或使用 Windows Terminal(Windows 11 内置)。在 Windows Terminal 中使用相同的 ssh 命令即可。

    首次连接会提示确认密钥指纹,输入 yes 即可。然后输入 root 密码(如果选择密码登录)或使用 SSH 密钥登录。

    成功登录后,你会看到类似这样的终端提示符:

    root@my-blog-server:~#

    这表示你已经在服务器的命令行界面中了。所有后续的服务器配置操作都在这个终端里完成。

    安全建议:登录后第一件事是修改 SSH 默认端口(22)和禁用密码登录改为密钥认证,这能有效防止暴力破解。具体操作方法在第四章的服务器安全部分会详细说明。

    WordPress 是用 PHP 编写的动态网站程序,需要与数据库(MySQL/MariaDB)和 Web 服务器(Nginx 或 Apache)配合运行。最流行的组合是 LNMP:Linux + Nginx + MySQL + PHP。

    这个章节会依次安装和配置这四个组件。操作全部通过命令行完成。

    root 账户拥有服务器的最高权限,用 root 登录来操作服务器虽然方便,但也意味着,一旦 root 密码泄露,攻击者就拥有整台服务器。正确的做法是创建一个普通用户,给予 sudo 权限,日常操作使用普通账户。

    usermod -aG sudo newuser

    之后,所有需要 root 权限的命令前加 sudo 即可,比如 sudo apt update。

    同时,配置 SSH 密钥登录,禁止密码认证,能大幅提升服务器安全:

    nano ~/.ssh/authorized_keys

    Nginx 是一个高性能的 HTTP 服务器,同时也能作为反向代理、负载均衡器和 HTTP 缓存。它比 Apache 更轻量,配置更简洁,非常适合 WordPress 站点。

    sudo apt install nginx

    sudo systemctl start nginx sudo systemctl enable nginx

    安装完成后,在本地浏览器输入服务器 IP 地址,应该能看到 Nginx 的默认欢迎页面。如果看不到,检查防火墙是否开放了 80 端口:

    sudo ufw allow 80/tcp sudo ufw allow 443/tcp

    WordPress 的数据(文章、评论、设置等)都存储在数据库中。MySQL 是传统选择,MariaDB 是 MySQL 的开源分支,完全兼容且性能更优。这里选择安装 MariaDB:

    sudo apt install mariadb-server

    sudo systemctl start mariadb sudo systemctl enable mariadb

    sudo mysql_secure_installation

    安全向导会问几个问题,一路按回车选择默认值即可,最后会询问是否设置 root 密码,选择 Y 并设置一个强密码,务必记住这个密码,后续安装 WordPress 时需要使用。

    接下来创建 WordPress 专用的数据库和用户:

    sudo mysql -u root -p

    CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '此处换成你的强密码'; GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost'; FLUSH PRIVILEGES;

    记录下数据库名(wordpress)、用户名(wpuser)和密码,后续安装 WordPress 时会用到。

    WordPress 是用 PHP 编写的,需要安装 PHP 解释器以及与 Nginx 和 MySQL 交互的扩展:

    sudo apt install php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-xmlrpc php8.1-zip php8.1-imagick

    PHP 8.1 是 Ubuntu 22.04 默认的 PHP 版本,性能比 PHP 7.4 有显著提升,同时对 WordPress 5.6+ 有良好的兼容性。

    现在需要让 Nginx 知道如何处理 PHP 请求,以及将请求路由到 WordPress:

    sudo nano /etc/nginx/sites-available/wordpress

    server_name your_domain.com www.your_domain.com; root /var/www/wordpress; 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:/run/php/php8.1-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params;

    将 your_domain.com 替换为你的真实域名(或服务器 IP 用于测试)。

    sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/

    sudo systemctl reload nginx

    现在,服务器已经能够处理 PHP 请求了。下一步是安装 WordPress。

    域名购买完成后,还需要将域名"指向"你的服务器 IP,这一步叫做 DNS 解析。DNS 的全称是 Domain Name System,它的作用是将人类易记的域名翻译成机器能识别的 IP 地址。

    DNS 解析通过 DNS 记录实现。常见的记录类型有:

    A 记录:将域名指向一个 IPv4 地址。比如 www.example.com -> 192.168.1.100。如果你的服务器有公网 IP,就使用 A 记录。

    AAAA 记录:与 A 记录类似,但用于 IPv6 地址。

    CNAME 记录:将域名指向另一个域名。常用于把 www.example.com 指向 example.com(主域名),或者将子域名指向第三方服务(如 CDN)。

    MX 记录:指定邮件服务器,用于邮箱服务,个人博客通常不需要。

    TXT 记录:用于验证域名所有权、发送SPF邮件验证等。

    NS 记录:指定该域名的 Nameserver,通常在域名注册商处设置,买完域名后默认就会指向注册商的 DNS 服务器。

    在阿里云控制台的"域名"页面,点击你的域名,进入"DNS 解析"页面。点击"添加记录",添加以下两条记录:

    记录类型
    主机记录
    记录值
    ----------
    ----------
    --------
    A
    @
    你的服务器公网IP
    A
    www
    你的服务器公网IP

    主机记录填写 @ 表示处理 example.com 的解析,填写 www 表示处理 www.example.com 的解析。如果你想让用户在输入带 www 和不带 www 的域名时都能访问网站,两个记录都需要配置。

    记录生效时间通常为几分钟到 48 小时不等,取决于全球 DNS 缓存的刷新速度。可以通过 ping your_domain.com 命令来验证解析是否生效。

    互联网的安全标准已经越来越严格,Google 等浏览器已经将所有非 HTTPS 网站标记为"不安全"。SSL 证书的作用是对服务器和用户浏览器之间的通信进行加密,防止中间人攻击和数据窃取。

    Let's Encrypt 是一个由非营利组织运行的免费证书颁发机构(CA),提供有效期 90 天的免费 SSL 证书。使用 Certbot 工具可以轻松申请和自动续期,完全不需要手动操作。

    sudo apt install certbot python3-certbot-nginx

    sudo certbot --nginx -d your_domain.com -d www.your_domain.com

    执行命令后,Certbot 会要求输入邮箱(用于续期通知),然后询问是否同意服务条款,输入 A 同意。然后 Certbot 会自动验证域名所有权(通过在 DNS 中添加临时记录或让 Nginx 提供验证文件),验证通过后自动安装证书并修改 Nginx 配置使其启用 HTTPS。

    成功后的 Nginx 配置会自动包含 HTTPS 重定向和 SSL 证书路径。如果需要在其他服务器或配置中引用,证书文件通常位于:

  • 证书文件:/etc/letsencrypt/live/your_domain.com/fullchain.pem - 私钥文件:/etc/letsencrypt/live/your_domain.com/privkey.pem
  • Certbot 的自动续期功能是默认开启的,它会在证书到期前 30 天自动执行续期,通过 systemd timer 来调度,不需要手动操作。

    如果 Nginx 配置在 Certbot 之后需要修改,可以手动编辑配置文件,但注意不要删除包含证书路径的 SSL 相关配置行,否则网站会无法通过 HTTPS 访问。

    SSL 证书配置完成后,网站已经可以通过 HTTPS 访问了(虽然目前还是 Nginx 的默认页面)。现在安装 WordPress。

    sudo wget https://wordpress.org/latest.tar.gz

    sudo tar -xzf latest.tar.gz

    sudo chown -R www-data:www-data /var/www/wordpress sudo chmod -R 755 /var/www/wordpress

    www-data 是 Nginx 和 PHP 运行的用户身份,确保这个用户对 WordPress 文件有读权限即可,不需要写权限给到其他用户。

    打开浏览器,访问 https://your_domain.com,应该能看到 WordPress 的安装向导页面。如果看到"Too many redirects"错误,通常是 Nginx 配置中同时存在 HTTP 和 HTTPS 监听导致的,需要检查 Nginx 配置文件中是否有重复的 server 块。

    WordPress 安装向导会让你输入数据库信息。使用第三章中创建的信息:

  • 数据库名:wordpress - 用户名:wpuser - 密码:你设置的数据库密码 - 数据库地址:localhost - 表前缀:可以保持默认的 wp_,也可以改成随机字符串(如 blog2024_)提升安全性
  • 点击"提交"后,WordPress 会尝试连接数据库,如果信息正确,会创建必需的数据库表。然后跳转到站点信息填写页面:

  • 站点标题:填写你博客的名字,之后可以在后台修改 - 用户名:管理员账户的用户名,这是你登录后台的凭证,建议不要使用 admin - 密码:会自动生成,建议使用生成的高强度密码,或者换成你自己设定的密码,记录下来 - 邮箱:填写真实邮箱,用于接收系统通知 - 搜索引擎可见性:如果暂时不想让搜索引擎收录(比如还在调试阶段),勾选"建议搜索引擎不索引此站点",等正式上线后再取消
  • 点击"安装 WordPress",稍等几秒,安装完成。可以使用设置的用户名和密码登录 WordPress 后台(https://your_domain.com/wp-admin)。

    WordPress 的强大之处在于插件生态。以下是每个博客都应该考虑安装的基础插件:

    Wordfence Security:全面的安全插件,提供防火墙、恶意软件扫描、登录保护等功能,免费版已经足够好用。

    WP Super Cache 或 W3 Total Cache:静态缓存插件,将动态 PHP 页面生成为静态 HTML,减少服务器负载,加快访问速度。

    UpdraftPlus:自动备份插件,支持将网站备份到 Google Drive、Dropbox 等云存储,建议至少每周备份一次。

    Yoast SEO 或 Rank Math:SEO 插件,帮助优化文章标题、描述、关键词,提升搜索引擎可见性。

    WP-Optimize:数据库清理插件,定期删除垃圾评论、废弃的草稿和修订版本,保持数据库轻量化。

    服务器上线后,第一件事不是上线内容,而是先把安全做好。互联网每时每刻都有机器人在扫描 IP 段、尝试常见用户名和密码的组合,试图入侵服务器。以下是基础但关键的安全措施:

    修改 SSH 默认端口:默认 SSH 使用 22 端口,全世界的黑客都在扫这个端口。改成 2222 或其他高位端口能显著减少扫描流量。编辑 /etc/ssh/sshd_config,找到 Port 22,改成 Port 2222,然后执行 sudo systemctl restart sshd。

    禁用 root 直接登录:编辑 SSH 配置,sudo nano /etc/ssh/sshd_config,找到 PermitRootLogin yes,改成 PermitRootLogin no,然后重启 SSH 服务。以后都用普通用户登录,需要时用 sudo 提权。

    启用防火墙:Ubuntu 内置的 ufw(Uncomplicated Firewall)工具让防火墙管理变得简单。执行:

    sudo ufw default deny incoming # 拒绝所有入站流量 sudo ufw default allow outgoing # 允许所有出站流量 sudo ufw allow 2222/tcp # 允许 SSH 端口 sudo ufw allow 80/tcp # 允许 HTTP sudo ufw allow 443/tcp # 允许 HTTPS sudo ufw enable # 启用防火墙

    隐藏 WordPress 版本号:默认情况下,WordPress 会在网页源代码的 meta 标签中输出当前安装的版本号。攻击者可以利用已知版本号的漏洞进行定向攻击。在 functions.php 中添加:

    remove_action('wp_head', 'wp_generator');

    禁止 PHP 文件执行:在 wp-content/uploads 目录下创建一个 .htaccess 文件(如果使用 Nginx 则在 Nginx 配置中添加相应规则),写入:

    <FilesMatch "\.php$"> Order allow,deny Deny from all </FilesMatch>

    这样即使上传目录被注入恶意 PHP 文件,也无法执行。

    定期更新:WordPress 核心、主题和插件每隔一段时间就会发布安全更新。忽略更新是很多网站被黑的根本原因。建议开启自动更新,或至少每月手动检查一次更新。

    启用 PHP OPcache:OPcache 通过将预编译的 PHP 脚本存储在共享内存中,避免每次请求都重新编译 PHP,大幅提升响应速度。编辑 PHP 配置文件:

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

    找到 ;opcache.enable=1,去掉分号变为 opcache.enable=1,同时设置合理的内存和使用量参数:

    opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=10000

    然后重启 PHP:sudo systemctl restart php8.1-fpm

    配置 Nginx 缓存:对于静态资源(图片、CSS、JS),配置浏览器缓存和 Nginx 端缓存:

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ { expires 30d; add_header Cache-Control "public, no-transform";

    图片优化:博客文章通常包含大量图片,建议在上传前使用 TinyPNG 或 ImageOptim 压缩图片。也可以安装 ShortPixel 或 EWWW Image Optimizer 插件自动压缩。

    使用 CDN:将静态资源托管到 CDN(如 Cloudflare 免费版)上,能显著加快全球访问速度,同时减轻源站带宽压力。Cloudflare 还提供免费的 SSL 证书和 DDoS 防护。

    DNS 解析的 TTL(Time-To-Live)值决定了缓存的有效时间。如果之前该域名有过解析记录,本地 ISP 的 DNS 服务器可能还在缓存旧数据。可以尝试:

  • 使用 Google DNS(8.8.8.8)或 Cloudflare DNS(1.1.1.1)来验证解析是否已生效 - 在不同的网络环境(手机 4G、另一家宽带)下测试 - 等待 24-48 小时,通常全球 DNS 会完成刷新
  • 这通常有几种可能:证书域名与访问域名不匹配(比如申请了 example.com 的证书但访问 www.example.com);证书过期(Let's Encrypt 每 90 天需要续期);网站内部资源(图片、CSS、JS)仍然使用 HTTP 链接。可以在浏览器开发者工具的 Console 中查看具体的不安全资源提示。

    后台卡顿通常是因为 WordPress 在加载时连接了一些国外服务(如 Google Fonts、Gravatar),这些服务在国内访问不稳定。可以安装插件或修改主题代码来替换这些资源为国内可访问的镜像,或者完全禁用。

    这是安装 WordPress 时最常见的错误之一。检查:数据库名、用户名、密码是否正确(注意大小写);数据库服务(MySQL/MariaDB)是否正在运行:sudo systemctl status mariadb;PHP 是否安装了 php8.1-mysql 扩展。

    这篇文章覆盖了从域名注册到 WordPress 完整上线的全流程。总结一下关键步骤:

    第一步,购买域名。选择靠谱的注册商,注意续费价格和隐私保护。

    第二步,购买 VPS。推荐 DigitalOcean 或国内云服务商,Ubuntu + 1GB 内存是入门配置的基本门槛。

    第三步,配置 LNMP 环境。Nginx + MariaDB + PHP 三件套,安装顺序不重要但每一步都要验证。

    第四步,配置 DNS 解析和 SSL 证书。Let's Encrypt + Certbot 实现自动化,是目前最省心的方案。

    第五步,安装 WordPress。填入数据库信息,设置管理员账户,安装必备插件。

    第六步,安全与优化。SSH 密钥登录、防火墙、缓存、图片优化、CDN,每一个都能显著提升博客的安全性和访问速度。

    WordPress 是一个生态非常成熟的内容管理系统,有海量的主题和插件可以满足各种需求。这篇文章搭建的是基础平台,之后你可以根据自己的需求探索更多方向:写技术教程、做摄影作品集、运营个人品牌。博客是你的,内容是你的,表达方式也是你的。这才是独立博客真正的价值所在。

    阅读约 11,760
    寒小逸科技 | VPS·AI·硬件评测