首先在云厂商控制台选择带有CN2通路或说明支持中国优质回程的美国机房镜像(例如注明CN2/GIA)。购买实例时注意选择合适的规格与带宽,并生成或上传SSH密钥对。
1)在控制台完成实例创建;2)记录公网IP与密钥名;3)本地执行:ssh -i /path/to/key.pem root@你的IP(确保文件权限为600)。
若连接超时,先确认安全组/防火墙放通22端口,并检查本地网络对外连通性。部分CN2实例可能需要额外的弹性IP绑定。
为提升开发效率,建议同步开启云平台提供的监控与控制台串流,以便在SSH故障时仍能进入主机控制台。
选择轻量级包管理与版本管理工具能极大缩短配置时间。对于Node.js推荐使用nvm,对于Python使用pyenv或venv,对于Java直接安装OpenJDK。
更新系统:sudo apt update && sudo apt upgrade -y;安装常用工具:sudo apt install -y build-essential curl git vim。
安装nvm:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash,然后 nvm install --lts;使用npm或yarn管理依赖。
安装pyenv:使用curl或git拉取pyenv并在shell中启用,pyenv install 3.x;创建虚拟环境并激活:python -m venv venv && source venv/bin/activate。
sudo apt install -y openjdk-11-jdk;使用maven或gradle构建,配置JAVA_HOME到环境变量中。
网络稳定性需同时关注云厂商回程质量与服务器端配置。若购买的是CN2线路,仍应在服务器上做必要优化与安全加固。
1)在内核层优化TCP:增加net.core.somaxconn、tcp_tw_reuse等参数;2)使用bbr拥塞控制(sysctl net.ipv4.tcp_congestion_control=bbr);3)开启合理MTU与关闭不必要的中间代理。
1)安全组仅开放需要的端口(22/80/443/应用端口);2)使用非默认SSH端口并禁用密码登录(Edit /etc/ssh/sshd_config PermitRootLogin no, PasswordAuthentication no);3)安装fail2ban或设置云端入侵防护。
启用CDN或就近节点缓存静态资源,使用健康检查与负载均衡分发流量;对跨国访问,可在国内放置反向代理或使用双活架构降低单点延迟。
磁盘与备份策略对开发与生产都至关重要。建议至少配置系统盘与数据盘分离,并定期快照或同步备份。
将系统盘仅保留OS,数据盘挂载到/app或/var/www目录;使用云盘快照功能做日常备份,或配置rsync/rdiff-backup同步到异地存储。
部署基础监控(CPU/内存/磁盘/网络),推荐使用Prometheus + node_exporter + Grafana进行可视化;云厂商自带监控与告警也应开启。
编写简单的启动脚本和配置管理(Ansible/Chef/Puppet或Terraform + cloud-init),可以快速在新实例上复刻运行环境并通过备份恢复数据。
落地实践应遵循最小权限、自动化与可观测性三原则。具体措施从镜像选择、包管理到运行时配置都要考虑安全与性能。
选择云厂商官方或可信的基础镜像,定期打补丁并使用私有包仓(如私有PyPI/Nexus/Artifactory)控制依赖来源与版本。
使用容器化(Docker)隔离应用,限制容器权限(--cap-drop、read-only rootfs),并用镜像扫描工具(Clair/Trivy)检测漏洞。
CI/CD流水线实现自动构建、测试与部署,预先在测试环境跑压测(wrk/ab/jmeter),根据瓶颈优化数据库连接池、缓存策略与异步队列。