步骤概述:a) 选择支持柬埔寨或东南亚(近柬埔寨)节点的供应商;b) 选择合适的规格(金融/电商建议2vCPU+4GB+100GB起);c) 准备SSH密钥与合规资料。
操作指南:创建SSH密钥(本地执行):ssh-keygen -t rsa -b 4096 -f ~/.ssh/vps_cambodia && cat ~/.ssh/vps_cambodia.pub;在面板添加公钥,选择Ubuntu 22.04或Debian 12。
步骤概述:更新系统、创建非root用户、禁用密码登录、设置时区。
命令示例:sudo apt update && sudo apt upgrade -y;sudo adduser deployer && sudo usermod -aG sudo deployer;编辑 /etc/ssh/sshd_config:PermitRootLogin no,PasswordAuthentication no;sudo systemctl restart sshd;sudo timedatectl set-timezone Asia/Phnom_Penh。
步骤概述:使用ufw或iptables只开放必要端口,安装fail2ban限制暴力破解。
命令示例(ufw):sudo apt install ufw -y;sudo ufw default deny incoming;sudo ufw default allow outgoing;sudo ufw allow 22/tcp;sudo ufw allow 80,443/tcp;sudo ufw enable;安装fail2ban:sudo apt install fail2ban -y,并编辑 /etc/fail2ban/jail.local 适配ssh和nginx。
步骤概述:强制HTTPS、使用Certbot自动签发、配置强安全套件与OCSP。
操作示例:sudo apt install nginx certbot python3-certbot-nginx -y;sudo certbot --nginx -d example.com;在nginx.conf里添加ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM'; ssl_prefer_server_ciphers on; ssl_stapling on; ssl_stapling_verify on。
步骤概述:推荐使用Docker Compose部署电商服务(前端、后端、数据库、缓存),并将数据库限定为内网访问。
示例docker-compose.yml(简化):version: '3' services: db: image: mysql:8 environment: MYSQL_ROOT_PASSWORD=xxx volumes: - dbdata:/var/lib/mysql networks: internal_only frontend: image: nginx:stable volumes: - ./nginx.conf:/etc/nginx/nginx.conf ports: - "80:80" networks: - default networks: internal_only: driver: bridge volumes: dbdata: {};部署后把数据库端口仅绑定到internal_only网络,不开公网端口。
步骤概述:本地Nginx做反向代理+缓存,并结合Cloudflare或其它CDN做边缘分发以降低延迟。
Nginx缓存示例:proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=one:10m max_size=10g inactive=60m; 在server块里:location /static/ { proxy_cache one; proxy_pass http://backend; add_header X-Cache-Status $upstream_cache_status; expires 30d; }
步骤概述:调整innodb_buffer_pool_size、连接数,限制max_connections;建立异地备份与逻辑备份策略。
操作示例(MySQL):编辑 /etc/mysql/mysql.conf.d/mysqld.cnf 设置innodb_buffer_pool_size=1G(按内存调整);使用mysqldump或Percona XtraBackup进行定时全备:0 2 * * * root /usr/bin/mysqldump -u root -p'密码' --all-databases | gzip > /backups/$(date +\%F).sql.gz;并把备份rsync到另一个区域节点或S3兼容对象存储。
步骤概述:部署Prometheus+Grafana或使用监控SaaS,设置磁盘/CPU/响应时间/SSL到期报警。
快速安装Prometheus(示意):使用官方docker-compose或agent收集器node_exporter,配置Prometheus抓取目标,Grafana导入仪表盘并配置邮件或Slack告警。
步骤概述:优化内核网络参数、启用TCP快速开启、调整keepalive与文件描述符。
sysctl示例:sudo bash -c "cat >> /etc/sysctl.conf" <<'EOF' net.core.somaxconn=1024 net.ipv4.tcp_fin_timeout=30 net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_max_syn_backlog=2048 fs.file-max=100000 EOF;sudo sysctl -p;同时在应用层启用HTTP/2和gzip压缩。
步骤概述:上线前完成端口核验、证书检查、压测、RPO/RTO验证和法律合规(数据隐私、跨境传输)。
操作项:curl -I https://example.com 检查返回头;ss -tulnp 查看监听端口;使用wrk或ab进行压测;验证恢复流程:从最近备份恢复到测试实例确认完整性。
答:最重要的是网络与访问控制:禁用密码登录、仅允许通过VPN或跳板主机SSH、数据库不暴露公网、使用强制HTTPS与现代TLS配置、启用WAF与日志审计。此外要定期漏洞扫描与补丁管理,并确保备份与灾备演练。
答:建议采用容器化自动扩缩容(Kubernetes或docker swarm)+使用负载均衡器(云LB或nginx+keepalived)+CDN减缓静态资源压力,数据库采用读写分离或只读副本,并在流量波峰前做预热与容量评估。
答:优先使用CDN把静态资源推到就近节点,减少跨境流量;在本地VPS上做一级缓存(Nginx proxy_cache)减少源站请求;合理设置缓存过期策略与压缩;若流量大,考虑多区域备份和负载均衡以降低单点延迟和成本。