1.
选择香港云服务商与实例规格
步骤:1) 比较可用区与延迟:选择靠近目标用户的香港可用区;2) 规格选择:根据CPU、内存、带宽和磁盘IO选择(例如Web服务建议2vCPU/4GB起步);3) 网络:选择VPC/私有子网与公网网关;4) 计费与快照:确认是否支持按小时计费、自动快照与镜像。小提示:优先选择支持弹性IP、负载均衡与监控Agent的供应商。
2.
创建实例与网络配置(实操)
步骤:1) 选择镜像:推荐Ubuntu 22.04 LTS或CentOS 8/Stream;2) 生成SSH密钥:本地执行 ssh-keygen -t ed25519 -C "hk-deploy" 并保存公钥;3) 在控制台上传公钥并创建实例;4) 分配弹性IP(EIP)并绑定;5) 创建安全组:允许入站22(仅限管理IP)、80、443;出站全部允许。命令示例:在本机ssh root@EIP,首次登录后立即执行 apt update && apt upgrade -y。
3.
初步系统加固与用户管理
步骤:1) 建立非root用户并添加sudo:adduser deploy && usermod -aG sudo deploy;2) 禁用密码登录:编辑 /etc/ssh/sshd_config,PermitRootLogin no,PasswordAuthentication no,保存后 systemctl restart sshd;3) 配置SSH公钥登录:把公钥放在 /home/deploy/.ssh/authorized_keys 并设置权限 chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys;4) 安装安全更新与自动更新:apt install unattended-upgrades,配置 /etc/apt/apt.conf.d/50unattended-upgrades。
4.
防火墙、Fail2Ban 与入侵防护
步骤:1) 启用UFW并设置规则:ufw default deny incoming; ufw default allow outgoing; ufw allow from 你管理IP to any port 22; ufw allow 80,443; ufw enable;2) 安装fail2ban:apt install fail2ban -y,启用基本配置 /etc/fail2ban/jail.local(保护sshd、nginx)并 systemctl enable --now fail2ban;3) 配置日志报警阈值,例如连续5次失败封锁10分钟。
5.
Web服务部署与TLS证书(Nginx + Let's Encrypt)
步骤:1) 安装Nginx:apt install nginx -y;2) 创建站点配置 /etc/nginx/sites-available/example.conf,监听80并代理到后端应用(127.0.0.1:3000);3) 测试 nginx -t && systemctl restart nginx;4) 安装certbot:apt install certbot python3-certbot-nginx -y;5) 申请证书:certbot --nginx -d example.com -d www.example.com,设置自动renew(certbot renew --dry-run 测试)。同时在Nginx中加入安全头(HSTS、X-Frame、CSP简要示例)。
6.
容器化或进程管理(Docker / systemd)
步骤:1) 安装Docker:curl -fsSL https://get.docker.com | sh && usermod -aG docker deploy;2) 使用docker-compose部署:在项目目录放docker-compose.yml并 docker compose up -d;3) 若不使用容器,建议使用systemd管理:创建 /etc/systemd/system/myapp.service,ExecStart指向启动脚本,Enable并Start:systemctl enable --now myapp;4) 配置日志转发到文件或本地rsyslog供集中收集。
7.
监控与告警实操(Metrics、Logs)
步骤:1) 指标采集:安装Prometheus node_exporter:下载并运行为systemd服务;2) 应用指标:在应用中暴露 /metrics,或使用statsd/Prometheus客户端库;3) 中央监控:在另一台服务器或云监控服务部署Prometheus并添加scrape目标;4) 可视化:部署Grafana并导入仪表盘,设置CPU、内存、磁盘、响应时间面板;5) 告警:在Prometheus Alertmanager配置阈值(如CPU>80% 5m)并设置邮件/Slack推送。命令示例:systemctl enable --now node_exporter。
8.
日志集中化与实时分析
步骤:1) 选择方案:ELK/EFK(Elasticsearch+Fluentd/Logstash+Kibana)或云日志服务;2) 在节点安装Filebeat或Fluentd,将/var/log/nginx/*.log、应用日志推送到集中服务;3) 设置日志轮转:logrotate /etc/logrotate.d/yourapp,防止磁盘占满;4) 配置告警:基于错误率(5xx)或异常日志关键词触发告警。
9.
备份、快照与恢复演练
步骤:1) 磁盘快照:在控制台设置定期快照(每日/每周)并保留策略;2) 数据库备份:MySQL使用mysqldump定时导出并上传至对象存储(awscli/osscp);示例脚本:mysqldump -uuser -ppass dbname | gzip > /backup/db-$(date +%F).sql.gz && aws s3 cp ...;3) 恢复演练:每月在备用实例上做一次恢复演练,验证备份完整性;4) 灾备:将副本或备份放在不同地域或供应商以防单点故障。
10.
性能优化与成本控制
步骤:1) 网络与CDN:给静态资源接入CDN并启用GZIP;2) 缓存:使用Redis或Varnish缓存热点数据;3) 自动扩缩容:基于CPU/延迟配置扩缩容策略(负载均衡器+实例模板);4) 成本:定期审计闲置资源(快照、未使用IP),利用预留实例或长期优惠降低费用。
11.
合规与访问审计
步骤:1) IAM细化权限:为运维、自动化账户配置最小权限;2) 开启云审计日志(API调用日志)并保存至少90天;3) 定期扫描漏洞(如使用OpenVAS/Trivy扫描镜像),并根据发现进行补丁管理;4) 记录变更:使用Terraform/Ansible管理基础设施并在CI中审查变更。
12.
部署自动化与CI/CD实践
步骤:1) 使用GitHub Actions/GitLab CI:在CI中打包镜像并推送到私有Registry;2) 部署策略:蓝绿或滚动更新,保证零停机;3) 回滚机制:构建可快速回滚的镜像版本并在CD脚本中实现;4) Release流程:在生产前通过预发布环境完成烟雾测试与自动化回归。
13.
(问)在香港云服务器上如何保证SSH安全性?
回答:1) 禁用root和密码登录,仅使用公钥;2) 限制SSH端口来源IP(安全组/防火墙);3) 安装fail2ban限制暴力破解;4) 使用密钥加密码短语并定期更换,必要时启用双因素登录。
14.
(问)如何实现对香港实例的监控与告警?
回答:1) 部署node_exporter与应用端点供Prometheus采集;2) 在Prometheus配置告警规则并通过Alertmanager推送到邮件或Slack;3) 补充日志告警(ELK/云日志),对错误率和延迟做阈值报警;4) 定期演练告警渠道,确保无冗余告警。
15.
(问)万一香港节点宕机,如何快速恢复服务?
回答:1) 建议提前配置跨区域备份与异地热备(数据库主从或备份实例);2) 使用自动化脚本或Terraform快速在其他可用区/地域重建实例并加载快照;3) DNS使用低TTL或启用流量管理切换到备节点;4) 定期做恢复演练,确保RTO/RPO目标可达。
来源:部署指南香港云服务器 优点 结合安全与监控的最佳实践