1.
选择韩国VPS与系统规划
- 选择要点:延迟低、带宽足够(公网带宽≥100Mbps)、支持IPv4/IPv6、可快照备份。
- 建议机型:1-2核 CPU、2-4GB 内存起步,站点数≤10;站点更多建议使用 Docker 或 LXC 分组。
- 规划:每个网站一个 Nginx 虚拟主机 + PHP-FPM 池,或使用 Docker Compose 按站点隔离。
2.
系统初始化与基本安全
- 登录并更新系统(以 Ubuntu 22.04 为例):sudo apt update && sudo apt upgrade -y。
- 创建非 root 用户:adduser deployer && usermod -aG sudo deployer。
- SSH 基础:编辑 /etc/ssh/sshd_config 禁用密码登录(PasswordAuthentication no),更换默认端口,可用公钥认证,重启 sshd。
3.
安装 Nginx、PHP 与数据库
- 安装命令:sudo apt install nginx php-fpm php-mysql mariadb-server -y。
- 配置 PHP-FPM:为每站点在 /etc/php/8.1/fpm/pool.d/ 新建 mysite.conf,设置 user、group、listen = /run/php/php8.1-fpm-mysite.sock。
- 数据库安全:sudo mysql_secure_installation,创建每站点独立数据库与用户,权限最小化。
4.
用 Nginx 配置多站点(虚拟主机)
- 建目录并权限:mkdir -p /var/www/site1 && chown -R deployer:www-data /var/www/site1。
- 新建 Nginx 配置 /etc/nginx/sites-available/site1,server_name 填写域名,root 指向站点目录,fastcgi_pass 指向对应 PHP-FPM socket。
- 启用并测试:ln -s …/sites-available …/sites-enabled && nginx -t && systemctl reload nginx。
5.
证书与 HTTPS 自动化
- 安装 certbot:sudo apt install certbot python3-certbot-nginx -y。
- 获取证书并自动配置 Nginx:sudo certbot --nginx -d example.com -d www.example.com。
- 设置自动续约:systemctl enable certbot.timer,或加入 crontab:certbot renew --quiet。
6.
站群部署建议:隔离与资源管理
- 隔离方式:使用 Docker Compose 为高隔离,或为每站点使用独立 PHP-FPM 池与数据库。
- 资源限制:对 PHP-FPM 池设置 pm.max_children、pm.start_servers 等避免内存互相争抢。
- 监控:安装 Netdata 或 Prometheus + Grafana 监控 CPU、内存和磁盘 IO。
7.
常用安全防护配置
- 防火墙(UFW)基本规则:sudo ufw allow 22/tcp(可改端口),80,443;sudo ufw enable。
- 安装 fail2ban 并添加 nginx, ssh 规则:sudo apt install fail2ban,编辑 /etc/fail2ban/jail.local。
- 限制登录尝试,启用日志审计,定期查看 /var/log/auth.log 和 Nginx 访问日志。
8.
备份与快照策略
- 文件备份:定期 rsync 到异地存储,或使用 tar + 上传到对象存储(例如 S3 兼容)。
- 数据库备份:mysqldump --single-transaction,配合 gzip 压缩并保留7-30天快照。
- VPS 快照:上线前、重要更新前做快照,发生故障可快速回滚。
9.
反爬与访问控制
- Nginx 限速:limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;在特定 location 启用 limit_req。
- Bot 策略:使用 robots.txt 控制合法爬虫;对恶意爬虫用 fail2ban / ModSecurity 配合规则封禁。
- IP 白名单/黑名单:在云厂商控制台或使用 ipset 管理大量 IP 黑名单。
10.
运维自动化与部署流程
- 使用 Git + CI(GitHub Actions / GitLab CI),在服务器上用 webhook 或部署脚本拉取更新并执行 composer/npm 构建。
- 自动化脚本示例:deploy.sh 包含 git pull、composer install、npm run build、systemctl reload nginx。
- 日常检查:用 crontab 做站点可用性脚本(curl 检查返回码),发现异常自动告警。
11.
问:韩国VPS延迟高怎么办?
答:先用 ping/traceroute 排查到目标ISP的路由,选择就近机房或更换带有更好国际出口的供应商;开启 CDN(如 Cloudflare)将静态资源分发到离用户更近的节点,从而降低感知延迟。
12.
问:如何为站群做IP与域名的合理分配?
答:尽量每个重要站点使用独立域名和独立 A 记录,若需要不同 IP 可购买多个弹性 IP 或用云厂商的浮动 IP;但不要过度做同机不同IP的短期切换,保持稳定有利于SEO与安全。
13.
问:发生被攻击或站群被封禁如何恢复?
答:第一步立即切断被滥用的站点(停用配置或改为维护页),清查日志定位攻击源,恢复时换密钥、更新软件并恢复到最近无问题的快照或备份,同时向上游备案或申诉并加强防护(WAF/限速/IP封禁)。
来源:韩国站群vps服务器部署实操 从建站到安全防护一步到位