一个VPS如何部署两个博客?_四种方法详解多站点搭建方案

如何在同一个VPS上搭建两个独立的博客?

方法类型 适用场景 技术复杂度 资源消耗
子目录部署 同主题/同技术栈博客
子域名部署 需要独立域名的多站点
容器化部署 不同技术栈的独立环境
反向代理配置 需要负载均衡的大流量站点

单VPS多博客部署指南

在有限的服务器资源下,通过合理配置可以在单个VPS上运行多个独立博客。以下是四种主流实现方案:

一、子目录部署方案

操作说明: 在网站根目录下创建子文件夹(如/blog1/blog2),分别安装不同的博客系统。 工具提示
  • 推荐使用WordPress多站点功能或相同CMS系统
  • 需配置.htaccess实现URL重写
# Nginx配置示例
location /blog1 {
    root /var/www/html;
    tryfiles $uri/blog1/$uri /blog1/index.php$isargs$args;
}

二、子域名部署方案

操作说明: 通过blog1.example.comblog2.example.com两个子域名指向不同站点目录。 工具提示
  • 需要DNS解析支持
  • 推荐使用Let's Encrypt多域名证书
# 生成通配符证书示例
certbot certonly --manual --preferred-challenges dns -d *.example.com

三、容器化部署方案

操作说明: 使用Docker为每个博客创建独立容器环境。 工具提示
  • 需安装Docker和docker-compose
  • 适合不同技术栈混搭(如WordPress+Hexo)
# docker-compose.yml片段
services:
  blog1:
    image: wordpress:latest
    ports:
  • "8080:80"
blog2: image: hexo ports:
  • "8081:4000"

四、反向代理方案

操作说明: 通过Nginx/Apache将不同域名请求转发到不同内部端口。 工具提示
  • 需要配置SSL终止
  • 适合隐藏真实服务端口
# Nginx反向代理配置
server {
    listen 443 ssl;
    servername blog1.example.com;
    location / {
        proxypass http://localhost:3001;
    }
}

常见问题排查

问题现象 可能原因 解决方案
站点间CSS/JS加载错误 资源路径配置错误 检查绝对路径和CDN设置
数据库连接失败 端口冲突或权限不足 修改数据库端口或创建新用户
子域名SSL证书不匹配 证书未包含所有子域名 申请通配符证书或SAN证书
内存占用过高 未限制进程资源 配置cgroups或使用docker限制

建议根据实际需求选择方案:技术小白推荐子目录部署,需要完全隔离环境则选择容器化方案。注意定期备份数据库和文件系统,多站点部署会增加安全风险,建议配置独立的防火墙规则和监控告警。

发表评论

评论列表