1. 说明与操作:选择机房前先确认目标流量与端口限制。
- 操作步骤:联系供应商确认下行/上行峰值、端口封锁、是否支持静态路由和反向代理,获取带宽图。
- 建议:若为站群推荐选择月流量包并留余量,开通DDoS基础防护。
2. 说明与操作:选择Debian/Ubuntu LTS或CentOS 7/8服务器镜像。
- 初始化命令(Ubuntu示例):sudo apt update && sudo apt upgrade -y
- 创建非root用户并设置ssh:adduser deploy; usermod -aG sudo deploy; mkdir /home/deploy/.ssh && chmod 700 /home/deploy/.ssh。
3. 说明与操作:锁定SSH,限制登录。
- 修改SSH端口:编辑 /etc/ssh/sshd_config,Port 2222,PermitRootLogin no;然后 sudo systemctl restart sshd。
- 配置公钥登陆:把本地 ~/.ssh/id_rsa.pub 放到 /home/deploy/.ssh/authorized_keys 并设置 chmod 600。
4. 说明与操作:推荐用ufw或iptables,示例使用ufw。
- 安装与规则:sudo apt install ufw -y;sudo ufw default deny incoming; sudo ufw default allow outgoing;sudo ufw allow 80/tcp; sudo ufw allow 443/tcp; sudo ufw allow 2222/tcp; sudo ufw enable。
- 高级:若使用iptables做NAT或端口转发,保存规则:iptables-save > /etc/iptables.rules。
5. 说明与操作:用Nginx做反向代理并实现站群分发。
- 安装:sudo apt install nginx -y;systemctl enable --now nginx。
- 示例conf(/etc/nginx/sites-available/sg.conf):
server { listen 80; server_name example1.com example2.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
- 负载均衡upstream示例:upstream backend { server 10.0.0.2:8080; server 10.0.0.3:8080; },location / { proxy_pass http://backend; }
6. 说明与操作:使用certbot获取Let's Encrypt证书。
- 安装certbot:sudo apt install certbot python3-certbot-nginx -y。
- 获取证书并自动配置:sudo certbot --nginx -d example1.com -d www.example1.com,采用--non-interactive加--agree-tos在脚本中运行。
- 自动续期:sudo systemctl enable certbot.timer;检查 sudo certbot renew --dry-run。
7. 说明与操作:用Docker隔离站点与环境,示例docker-compose.yml。
- 安装:curl -fsSL https://get.docker.com | sh;sudo apt install docker-compose -y。
- 示例compose:
version: '3' services: web1: image: nginx:stable volumes: - ./site1:/usr/share/nginx/html ports: - "8081:80" web2: image: nginx:stable volumes: - ./site2:/usr/share/nginx/html ports: - "8082:80"
- 在宿主机通过Nginx反向代理到127.0.0.1:8081、8082。
8. 说明与操作:DNS记录要清晰管理,A/AAAA记录指向各IP,CNAME用于cdn。
- 操作:在域名服务商添加A记录,TTL建议600~3600。
- PTR/rDNS:若需发邮件或避免屏蔽,向机房申请设置反向解析与主机名一致。
9. 说明与操作:部署基础监控与日志轮转。
- 日志轮转:配置 /etc/logrotate.d/nginx,weekly并保留4份。
- 监控建议:安装node_exporter与Prometheus,或用Zabbix。示例安装node_exporter:wget https://...; tar xzf; ./node_exporter &。
- 告警:Prometheus+Alertmanager或直接配置邮件/微信告警脚本。
10. 说明与操作:防止爬虫/爆破。
- Nginx限速配置:limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s; 在location加 limit_req zone=one burst=20 nodelay。
- fail2ban:sudo apt install fail2ban -y,增加nginx-http-auth和sshd jail并启动。
11. 说明与操作:自动化备份并异地保存。
- 文件备份:使用rsync到异地存储:rsync -az --delete /var/www/ user@backup:/backup/site/。
- 数据库:mysqldump -u root -p dbname > /backup/dbname_$(date +%F).sql;并用cron每日执行与保留7天。
问:香港站群被封IP或端口被限制怎么办?
答:答:先确认被封类型,使用mtr/traceroute定位链路,联系机房申诉并查看是否违规(端口25常被封)。短期内可切换端口或使用第三方邮件服务(SendGrid/Mailgun),长期建议更换IP段或申请独立公网IP并启用DDoS保护。

问:如何在站群中统一管理SSL证书与续期?
答:答:集中使用证书管理工具(如certbot部署在反向代理层或使用ACME代理)。对多主机可用DNS挑战(DNS-01)统一签发通配符证书,再下发到各节点或在反向代理层终端SSL并在内部使用HTTP。
问:部署站群时常见性能瓶颈有哪些,如何定位?
答:答:常见瓶颈有网络带宽、IO(磁盘)、CPU、数据库连接。定位方法:使用iftop/iperf测网络,iostat/top/glances测IO和CPU,MySQL慢查询开启慢查询日志,结合Prometheus/Grafana查看历史趋势。解决方案包括加缓存(Redis/varnish)、水平扩容、使用SSD和优化SQL。