1. 购买与准备:选择香港机房与系统镜像
步骤:1) 选带有香港出口的服务商(带宽和延迟优先),确认IP段是否干净。
2) 选择Linux发行版(Ubuntu 22.04 或 CentOS 8/Alma)。
3) 开机并通过SSH登录:ssh root@IP,更新系统:apt update && apt upgrade -y 或 yum update -y。
2. 基础软件安装与用户分级
步骤:1) 安装常用软件:apt install nginx docker.io certbot -y。
2) 新建独立站点用户:useradd -m -s /bin/bash site1;为每站点创建目录 /var/www/site1 并 chown site1:site1。
3) 禁用root远程登录,使用sudo管理。
3. 使用Nginx做反向代理与多站点托管
步骤:1) 每站创建server block:/etc/nginx/sites-available/site1.conf,listen 80,server_name site1.example.com,root /var/www/site1。
2) 启用并测试:ln -s /etc/nginx/sites-available/site1.conf /etc/nginx/sites-enabled/;nginx -t && systemctl reload nginx。
4. 容器化隔离:Docker 与 Docker Compose 实操
步骤:1) 为每站创建独立容器或Compose文件,示例 docker run -d --name site1 -v /var/www/site1:/usr/share/nginx/html nginx:stable。
2) 推荐使用 Docker Compose 管理多个站点,便于重建与扩容。
5. 资源限制:使用 cgroups/systemd 对每站限流
步骤:1) 若使用 systemd 管理容器或服务,可创建切片:/etc/systemd/system/site1.slice 内容包括 CPUQuota=20%。
2) 对 Docker 容器可传参:docker run --cpus="1.0" --memory="512m" ...,防止单站挤占资源。
6. I/O 与优先级控制(ionice / nice)
步骤:1) 对后台任务使用 nice -n 10 / ionice -c2 -n7 命令降低磁盘和CPU优先级。
2) 将备份、抓取器等设置为低优先级以保证站点响应。
7. 调度策略:基于时间与流量的任务调度
步骤:1) 使用 cron 分时段执行重负载任务(如凌晨备份),示例 crontab -e 0 2 * * * /usr/local/bin/backup.sh。
2) 使用流量监控触发脚本(结合 Prometheus Alertmanager + webhook)自动减配或迁移高负载站点。
8. SSL 与自动续期:Let's Encrypt 实战
步骤:1) 使用 certbot 自动申请:certbot --nginx -d site1.example.com。
2) 检查续期:certbot renew --dry-run,并设置 systemd timer 或 cron 自动续期。
9. DNS 与域名分配策略
步骤:1) 将不同站点指向不同A记录,必要时使用子域或多IP分布以降低单IP风控。
2) 使用短TTL便于切换,并记录变更以备回滚。
10. 监控、告警与日志隔离
步骤:1) 部署监控(Prometheus + Grafana)收集CPU、内存、磁盘与响应时间。
2) 将站点日志写入独立目录并使用 logrotate 分割,设置报警阈值(如响应时间>1s)。
11. 备份与恢复策略
步骤:1) 数据库与站点文件分别备份,远程存储(对象存储或境外备份)。
2) 定期演练恢复:从备份恢复到临时服务器确认完整性。
12. 安全与防护(防火墙、Fail2Ban、限速)
步骤:1) 配置 ufw 或 iptables 只开放必要端口(80/443/22)。
2) 安装 fail2ban 防暴力登录,Nginx 配置 limit_req_zone 限速防刷。
13. 性能优化小贴士
步骤:1) 启用 nginx gzip、缓存头,使用 fastcgi_cache 或 ECS 缓存静态资源。
2) 使用 CDN 缓解带宽与提升海外访问速度(香港机房配合亚洲CDN最佳)。
14. 常见问题答疑一:如何在单IP下隔离多个站点资源?
问:单台香港服务器只有一个公网IP,如何保证多站点不互相影响?
答:通过容器/用户分级+systemd切片或docker的--cpus/--memory限制,再配合Nginx虚拟主机和独立日志、数据库实例,实现逻辑隔离与资源约束。
15. 常见问题答疑二:站点流量突增时如何自动调度?
问:遇到单站流量突增,如何自动缓解?
答:部署监控告警,当响应或CPU超过阈值触发脚本:1) 缩减非必要任务,2) 临时调整容器CPU配额,3) 若有备用机器可通过Ansible触发迁移或开启外部CDN加速。
16. 常见问题答疑三:如何做日常运维检查?
问:日常需要检查哪些重点项?
答:每日检查可用性(uptime)、磁盘使用、证书到期、日志错误率与备份状态;每周复核安全补丁与漏洞扫描,必要时做容灾演练。
来源:香港站群服务器使用教程 多站点托管下的资源隔离与调度技巧