1.1 在浏览器打开 https://cloud.oracle.com 并注册Oracle Cloud账户,按步骤填写邮箱并完成电话/信用卡验证。
1.2 登录控制台后,点击右上角的区域选择(Region),选择“Asia Pacific (Singapore) ap-singapore-1”。确保控制台界面显示为该区域。
1.3 建议同时安装并配置OCI CLI(命令行)用于后续自动化:在本地运行 python3 -m pip install oci ,然后运行 oci setup config 按提示填写tenancy、user、fingerprint和私钥路径。
2.1 在控制台左侧选择Compute → Instances → Create Instance。
2.2 填写实例名称,选择Availability Domain(可用域)或让系统自动选择,Region应为ap-singapore-1。
2.3 在Image部分选择操作系统(推荐Ubuntu 22.04或CentOS 8/Alma),在Shape选择通用型或按需型(例如 VM.Standard.E2.1),根据预算选择CPU/RAM。
2.4 在SSH keys部分上传你的公钥(~/.ssh/id_rsa.pub)。本地生成命令:ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa(无密码或设置密码),然后复制公钥内容上传。
2.5 网络选择Create a virtual cloud network (VCN)和默认子网或自定义子网;确保勾选Public IP以便直接外网访问。
2.6 点击Create等待实例启动,控制台显示Running时即可继续下一步。
3.1 获取公网IP:在实例详情页查看Public IP地址。
3.2 本地连接:ssh -i ~/.ssh/id_rsa ubuntu@<公网IP>(若是CentOS用户改为 centos@ )
3.3 登录后立即执行:sudo apt update && sudo apt upgrade -y(Debian/Ubuntu)或 sudo yum update -y(CentOS)。
3.4 配置时区与主机名:sudo timedatectl set-timezone Asia/Singapore;sudo hostnamectl set-hostname my-vps-name。
4.1 控制台设置:在VCN的Security Lists或Network Security Groups打开必要端口(TCP 22,80,443等)。如果使用主机型防火墙,尽量只在OCI侧放行SSH,然后在实例内部再精细管理。
4.2 Ubuntu上启用ufw:sudo apt install ufw -y;sudo ufw default deny incoming;sudo ufw default allow outgoing;sudo ufw allow 22;sudo ufw allow 80;sudo ufw allow 443;sudo ufw enable。
4.3 若需对外固定出站IP,建议使用NAT Gateway或弹性IP(在OCI叫Public IP reserved)。在控制台为实例分配Reserved Public IP避免重启变动。
5.1 安装Git、Docker、Node.js、Python等常用工具(以Ubuntu为例): sudo apt install -y git docker.io build-essential curl curl -fsSL https://get.docker.com | sudo bash sudo usermod -aG docker $USER
5.2 数据库与Web服务:安装MySQL/Postgres:sudo apt install -y mysql-server 或 sudo apt install -y postgresql,安装nginx:sudo apt install -y nginx,启动并设为开机自启:sudo systemctl enable --now nginx。
5.3 设置交换空间(Swap),若小内存实例建议使用:sudo fallocate -l 2G /swapfile;sudo chmod 600 /swapfile;sudo mkswap /swapfile;sudo swapon /swapfile;并将其写入 /etc/fstab:/swapfile none swap sw 0 0。
6.1 快照与备份:控制台进入Block Volumes → Create Snapshot,或为实例的Boot Volume做定期备份;也可以使用OCI的Backup计划自动化。
6.2 监控日志:启用Monitoring与Logging服务(Logging Analytics),并在实例内安装OCI logging agent按文档配置,将系统日志与应用日志推送到OCI Log。
6.3 成本优化:使用Always Free或按需型最小化资源,停止不使用的实例并删除未使用的Block Volume;使用预留实例或按小时计费观察费用曲线。
答:选择镜像时优先考虑团队熟悉的发行版(Ubuntu或CentOS/Alma),镜像要支持你的依赖。规格(Shape)按CPU和内存需求估算:小型开发/测试可选1-2 vCPU、1-4GB内存;CI或容器运行建议2+ vCPU和8GB以上。若不确定先用小规格测试,监控CPU/内存使用并按需横向扩容或更换Shape。
答:在域名DNS控制面板添加A记录指向实例的Reserved Public IP。然后在实例上安装Certbot并生成Let's Encrypt证书: sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com Certbot会自动配置nginx并启用HTTPS。注意开放80和443端口并确保防火墙和OCI安全列表规则允许访问。
答:先在OCI控制台确认实例状态为Running并查看Public IP是否存在。若IP变动,建议在实例上申请并绑定Reserved Public IP(Public IP -> Reserve Public IP并关联实例)。若SSH仍失败,检查Security List/NSG是否放行22端口、本地网络是否被限制,以及实例内的sshd服务状态(sudo systemctl status sshd)。可通过OCI的Serial Console或Instance Console Connection登录救援。