博客从虚拟主机迁到 VPS 的完整记录

Cold 发布于 2018-11-26 26 次阅读 330 字 预计阅读时间: 2 分钟 日常杂谈


博客原来放在虚拟主机上,一年几十块,但限制多:不能装 Redis,PHP 版本固定,偶尔还抽风。趁黑五买了台 VPS,记录一下迁移过程。

准备

  • VPS:1 核 1G,Debian 10
  • 备份原站:文件 + 数据库
  • 域名 DNS 的 TTL 提前调小,方便切换

环境搭建

# 更新系统
apt update && apt upgrade -y

# 装 Nginx + PHP + MySQL
apt install nginx php-fpm php-mysql mysql-server -y

# 装 phpMyAdmin 或者用命令行导数据

迁移数据

# 旧站导出
mysqldump -u user -p dbname > blog.sql
tar czf blog-files.tar.gz /path/to/wordpress

# 新站导入
mysql -u user -p dbname < blog.sql
tar xzf blog-files.tar.gz -C /var/www/

配置 Nginx

server {
    listen 80;
    server_name www.zhengzhiwei.vip/;
    root /var/www/wordpress;
    index index.php;

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

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

踩的坑

  • 文件权限:Nginx 用户是 www-data,WordPress 目录要给对权限,否则上传失败
  • 数据库连接:wp-config.php 里的 DB_HOST 要改
  • 固定链接 404:Nginx 的 try_files 没配
  • DNS 切换后本地 DNS 缓存没更新,等了一会

迁移后

  • 配了 HTTPS(Let's Encrypt)
  • 装了 Redis 做对象缓存
  • 配了自动备份到对象存储
  • 加了监控告警

VPS 自由度高,但什么都要自己管。适合愿意折腾的人。

和喜欢的一切在一起~
最后更新于 2018-11-26