购买VPS后,常见任务包括搭建网站、把原主机/共享主机的数据库迁移到VPS,并为域名配置稳定的邮件服务。下面以一套常见的 LEMP(Nginx+PHP+MariaDB)+Postfix+Dovecot 方案,讲清流程与关键命令,给出迁移与配置的实战要点。
一、环境准备与域名解析
1)在VPS上选择操作系统(常用Ubuntu/Debian)。2)通过域名服务商把域名A记录指向VPS公网IP,添加MX记录指向邮件主机(可与A记录同主机或单独邮件主机)。3)更新系统并安装必要软件:
sudo apt update
sudo apt install nginx php-fpm mariadb-server certbot
二、数据库迁移步骤(MySQL/MariaDB为例)
典型场景是从旧服务器导出再导入到VPS,步骤如下:
- 备份旧库:
mysqldump -u dbuser -p --single-transaction --routines --events dbname > /tmp/dbname.sql - 传输备份文件到VPS:
scp /tmp/dbname.sql user@vps_ip:/tmp/ - 在VPS创建数据库与用户,导入:
mysql -u root -p CREATE DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL ON dbname.* TO 'dbuser'@'localhost'; quit mysql -u dbuser -p dbname < /tmp/dbname.sql
要点:对大数据库可启用压缩(mysqldump | gzip),或使用物理备份(Percona XtraBackup)或MySQL主从复制作滚动迁移;注意字符集与时区一致、防止切割超时。
三、网站迁移与配置
迁移网站文件(如WordPress)可用 rsync 保留权限:
rsync -azP --chown=www-data:www-data /var/www/ user@vps_ip:/var/www/
修改站点配置(config.php 或 wp-config.php)中数据库连接、缓存、外部服务地址,测试页面访问并生成 SSL 证书:
sudo certbot --nginx -d example.com -d www.example.com
四、邮件服务配置(Postfix + Dovecot)
自建邮件服务建议用于小规模或内部通信;生产环境可考虑第三方SMTP以提高送达率。自建要点:
- 安装:
sudo apt install postfix dovecot-core dovecot-imapd opendkim opendkim-tools - Postfix 基本设置(/etc/postfix/main.cf): - myhostname、mydestination、mynetworks、inet_interfaces、home_mailbox
- Dovecot 用于认证与IMAP/POP3,配置邮件位置和ssl设置。
- DNS:添加MX、A、SPF(TXT)、DKIM(由opendkim生成的TXT)及建议配置DMARC。
- 端口与防火墙:开放25、465(可选)、587、993、143,并配置fail2ban防暴力登录。
示例在main.cf中允许 submission(587)并启用SMTP认证,使用Let’s Encrypt证书保护传输。
五、案例小结
在一次实际迁移中,我们将一个中型WordPress站点(1.2GB数据库)从共享主机迁至VPS:通过压缩导出、scp传输并在VPS上导入,并用rsync迁移文件。邮件服务采用Postfix+Dovecot并配置SPF+DKIM,测试发送到Gmail并调整反垃圾策略(PTR记录与发送频率控制)。整个过程关键在于充分备份、验证字符集与DNS正确配置以及逐步切换流量,避免一次性中断。
六、运维与安全建议
- 启用UFW或iptables,限制管理端口(SSH改端口或用密钥认证)。
- 定期备份数据库与网站文件,保留多份异地备份。
- 监控日志邮件队列与服务健康(使用monit、prometheus等)。
- 考虑使用第三方SMTP服务提升外发稳定性与送达率。
常见问题
VPS建站和数据库迁移一般需要多长时间?
时间取决于站点规模和网络带宽:小站(<500MB)通常几小时可完成;中大型站(>1GB)建议预留半天到一天,包含导出、传输、导入、配置与验证时间,以及DNS生效等待。
自建邮件服务需要哪些费用和注意事项?
基本费用是VPS带宽与域名费用,若自建不使用第三方SMTP还要投入时间维护。关键注意点包括配置SPF/DKIM/DMARC、设置反向DNS、监控发送量与IP信誉,必要时使用专用IP或第三方发信服务。
数据库迁移失败常见原因及如何排查?
常见原因有字符集不一致、表结构或存储引擎差异、导出时遗漏触发器或权限、导入超时或磁盘空间不足。排查建议查看错误日志、确认字符集、分批导出导入或使用压缩并检查磁盘与MySQL错误输出。
