1.
准备与选型
- 选择操作系统:推荐 Ubuntu 22.04 LTS 或 Debian 12;若需要更低延迟与兼容性,可选 CentOS/AlmaLinux。
- 购买与测试网络:在 cn2vps 控制面板选择泰国节点,开机后用本地终端执行:ping -c 5 YOUR_VPS_IP 和 mtr -rw YOUR_VPS_IP 来判断连通性与丢包。记录响应时间与丢包率。
2.
首次登录与系统更新
- 使用 SSH 登录(Windows 用 PuTTY 或 Windows Terminal):ssh root@YOUR_VPS_IP。
- 更新系统包:Ubuntu/Debian:apt update && apt upgrade -y;CentOS:dnf update -y。重启内核(如有需要):reboot。
3.
创建管理员用户与关闭 Root 登录
- 新建普通管理员用户并加入 sudo:adduser deploy && usermod -aG sudo deploy。
- 配置 SSH:编辑 /etc/ssh/sshd_config,修改或添加:Port 2202(非默认)、PermitRootLogin no、PasswordAuthentication no(先保留为 yes 直到公钥配置完成)。保存并重启 SSH:systemctl restart sshd。
4.
配置 SSH 公钥登录
- 本地生成密钥(如无):ssh-keygen -t ed25519;将公钥复制到服务器:ssh-copy-id -i ~/.ssh/id_ed25519.pub deploy@YOUR_VPS_IP。
- 登录验证成功后将 /etc/ssh/sshd_config 中 PasswordAuthentication 改为 no 并重启 sshd。
5.
防火墙与端口策略(UFW 示例)
- 安装并开启 UFW(Ubuntu):apt install ufw -y;允许必要端口:ufw allow 2202/tcp(SSH)、ufw allow 80/tcp、ufw allow 443/tcp。
- 启用并查看状态:ufw enable && ufw status verbose。若使用 iptables/nftables,请写好持久化规则并测试。
6.
安装常用软件栈(Nginx、Certbot、数据库)
- 安装 Nginx 与证书工具:apt install nginx certbot python3-certbot-nginx -y。启动并设置开机:systemctl enable --now nginx。
- 如需 MySQL:apt install mariadb-server -y,安全配置:mysql_secure_installation。对 PHP 应用:apt install php-fpm php-mysql -y。
7.
配置 HTTPS(Let’s Encrypt)
- 确保域名解析到 VPS IP,DNS 生效后运行:certbot --nginx -d example.com -d www.example.com。
- 验证自动续期:certbot renew --dry-run,并在 crontab 或 systemd timer 下启用自动续期(通常 certbot 已自带 timer)。
8.
安全加固(Fail2ban、自动更新、监控)
- 安装 Fail2ban:apt install fail2ban -y。创建 /etc/fail2ban/jail.d/sshd.local,基础配置:[sshd] enabled = true port = 2202 maxretry = 5。重启 fail2ban。
- 启用自动安全更新:apt install unattended-upgrades -y,配置 /etc/apt/apt.conf.d/50unattended-upgrades。
9.
网络与性能优化(BBR、MTU、系统调优)
- 启用 BBR(适合提升 TCP 性能):echo "net.core.default_qdisc=fq" >> /etc/sysctl.d/99-sysctl.conf && echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.d/99-sysctl.conf && sysctl --system。验证:sysctl net.ipv4.tcp_congestion_control。
- 若遇到丢包或 MTU 问题,可适当调整 /etc/network/interfaces 或 cloud-init 设置中的 MTU,或在路由器/本地网络侧测试。
10.
备份与恢复策略
- 文件备份:创建简单脚本 /root/backup_www.sh:
rsync -a --delete /var/www/ user@backup-server:/backups/your-vps/。设置密钥免密码登录并加入 crontab:0 2 * * * /root/backup_www.sh。
- 数据库备份:mysqldump --all-databases > /root/db-$(date +%F).sql,并用 rsync 或 scp 传至异地备份。
11.
日常运维检查与故障排查
- 常用命令:ss -tulpn(端口服务)、journalctl -u nginx -n 200(日志)、df -h(磁盘)、top/htop(资源)。
- 网络问题排查:traceroute YOUR_VPS_IP、mtr -rw YOUR_VPS_IP、tcpdump -nn -i eth0 port 80(抓包)。必要时联系 cn2vps 支持并提供 mtr 与 traceroute 输出。
12.
问答:部署与运维常见问题(一)
问:如何在 cn2vps 上确认网络是 CN2 路由? 答:使用 mtr -rw YOUR_VPS_IP 并观察中间跳数和 AS/运营商信息,若路径中出现“China Telecom CN2”或对应 ASN/节点且延迟稳定,则很可能走 CN2;也可以与供应商确认具体线路。
13.
问答:安全加固注意点(二)
问:如果忘记了设置 SSH 端口而被防火墙锁死怎么办? 答:通过 cn2vps 控制台的 web-shell 或 VNC/serial 控制台登录到系统,恢复 /etc/ssh/sshd_config 或 firewall 规则,确保至少有一种远程访问恢复方式。
14.
问答:备份与恢复策略(三)
问:建议的备份频率和保留策略是什么? 答:一般静态文件每日备份、数据库每日或每小时(视业务重要性)备份;保留 7 天的日备和 4 周的周备,结合异地备份与定期恢复演练,确保备份可用。
来源:安装与配置指南教你在泰国cn2vps上快速搭建安全稳定的环境