在没有图形界面的情况下,可以通过以下方式为云服务器部署CentOS或Ubuntu系统:
一、主流云平台的标准方法
1. 使用云平台控制台
- 创建实例时选择镜像:在阿里云、AWS、腾讯云等平台创建ECS/EC2时,直接选择CentOS或Ubuntu官方镜像
- 自定义镜像:上传自己的ISO或使用云市场镜像
- 通过SSH连接:实例启动后使用SSH密钥对连接
2. 云平台API/CLI工具
# AWS CLI示例
aws ec2 run-instances
--image-id ami-0c55b159cbfafe1f0
--instance-type t2.micro
--key-name my-key-pair
# 阿里云CLI
aliyun ecs CreateInstance
--ImageId centos_7_9_x64_20G_alibase_20210927.vhd
二、自动化部署工具
1. 使用Terraform
resource "aws_instance" "web" {
ami = "ami-0c55b159cbfafe1f0" # Ubuntu 20.04
instance_type = "t2.micro"
user_data = file("user-data.sh") # 初始化脚本
}
2. Ansible自动化部署
- name: Deploy CentOS server
hosts: cloud_servers
tasks:
- name: Ensure system is updated
yum:
name: '*'
state: latest
三、手动安装(适用于裸金属或自定义环境)
1. 使用Kickstart(CentOS)
# 准备kickstart文件
# ks.cfg内容示例
text
url --url=http://mirror.centos.org/centos/7/os/x86_64/
lang en_US.UTF-8
keyboard us
network --onboot yes
rootpw --plaintext yourpassword
firewall --disabled
selinux --disabled
reboot
# 通过VNC或串口控制台启动安装
2. 使用Preseed(Ubuntu)
# preseed.cfg示例
d-i debian-installer/locale string en_US
d-i console-setup/ask_detect boolean false
d-i netcfg/get_hostname string ubuntu-server
d-i passwd/root-password password yourpassword
3. 网络安装(PXE)
# 配置PXE服务器
# 1. 安装DHCP、TFTP服务
# 2. 准备引导文件
# 3. 配置自动应答文件
四、使用云初始化工具
1. cloud-init(推荐)
# cloud-config示例
#cloud-config
hostname: myserver
manage_etc_hosts: true
users:
- name: admin
ssh-authorized-keys:
- ssh-rsa AAAAB3Nza...
sudo: ['ALL=(ALL) NOPASSWD:ALL']
packages:
- nginx
- mysql-server
2. 实例启动时注入脚本
#!/bin/bash
# 用户数据脚本示例
apt-get update
apt-get install -y docker.io
systemctl enable docker
五、最佳实践建议
1. 安全配置
# 首次登录后立即执行
passwd root # 修改默认密码
useradd deploy
usermod -aG sudo deploy
vim /etc/ssh/sshd_config # 禁用密码登录
2. 基础优化
# 更新系统
yum update -y # CentOS
apt update && apt upgrade -y # Ubuntu
# 安装常用工具
yum install -y vim wget curl net-tools
3. 监控和日志
# 安装基础监控
yum install -y htop iotop iftop
# 配置日志轮转
yum install -y logrotate
六、故障排查
- 连接问题:检查安全组/防火墙规则
- 启动失败:查看系统日志
/var/log/messages或/var/log/syslog - 网络问题:检查
ip addr和路由配置 - 使用串口控制台:大多数云平台提供串口访问功能
七、推荐工作流程
- 规划阶段:确定系统版本、分区方案、软件需求
- 准备阶段:编写自动化脚本或配置模板
- 部署阶段:使用API/CLI创建实例
- 验证阶段:检查系统状态和服务可用性
- 文档阶段:记录部署过程和配置参数
这种方法可以实现完全自动化的无界面部署,适合批量部署和DevOps流程。
CLOUD技术笔记