2026年新人小白的第一台云服务器:从零到上线的完整实战指南
新人小白的第一台云服务器:从零到上线的完整实战指南
摘要:本文面向完全零基础的新手,用通俗易懂的语言和保姆级步骤,带你从注册阿里云账号开始,到选购 ECS、连接服务器、配置安全、部署网站、绑定域名,最终完成一个可对外访问的完整项目。全文覆盖 Windows 与 Mac 双平台操作,附常用命令速查与故障排查流程,助你真正迈出云计算实战第一步。
关键词:云服务器、ECS、新手入门、Linux、LNMP、域名解析、SSL证书、网站部署、阿里云
版权声明:本文为原创技术文章,首发于 CSDN。转载请注明出处,保留作者署名及原文链接。未经授权,禁止用于商业用途或二次发布至其他平台。
本文写给谁看:你听说过云服务器,但觉得它很高大上、很吓人、不敢动手?或者你想搭个网站、跑个应用,但完全不知道从哪里开始?这篇文章就是为你而写的。全程大白话 + 实操步骤,从注册账号到网站上线,手把手带你走一遍。文末有全套总结和架构全景图,可以直接对着抄。
目录
- 一、云服务器到底是什么?
- 二、准备工作:选一台适合你的服务器
- 三、连接你的服务器:迈出第一步
- 四、安全第一课:别让你的服务器裸奔
- 五、部署你的第一个网站
- 六、数据存储:文件和备份
- 七、日志与问题排查:出了问题不慌
- 八、进阶:打造高可用架构
- 九、总结:你的云服务器全景图
- 十、附录:常见问题速查
一、云服务器到底是什么?
1.1 一句话解释
云服务器 = 一台你远程租用的电脑。
它不在你的桌子上,而在阿里云的机房里。你通过 Internet 连上去,像操作自己的电脑一样操作它。只不过这台电脑:
- 24 小时开机,不会断电
- 带宽最低 1Mbps 起步,最高可达 200Mbps(不同实例规格上限不同),按需选择即可
- 坏了阿里云负责修,不用你换硬盘
- 用多少付多少,不用一次性买一台实体机
1.2 和实体电脑的区别
| 对比项 | 你的笔记本电脑 | 云服务器 ECS |
|---|---|---|
| 位置 | 放你桌上 | 在阿里云机房 |
| 连接方式 | 按开机键 | 通过 SSH 远程登录 |
| 稳定性 | 你关机会断网 | 24x7 持续运行 |
| 公网 IP | 没有(你的电脑在家庭内网) | 有,全世界都能访问 |
| 带宽 | 50M 家庭宽带 | 1Mbps 起步,最高 200Mbps(根据实例规格) |
| 成本 | 一次性 5000 元 | 每月 99 元起(入门级) |
| 维护 | 自己装系统、修硬件 | 阿里云负责硬件和网络 |
1.3 为什么推荐小白用云服务器
新手学云计算、学 Linux、学建站,不要买实体服务器。理由很简单:
- 试错成本低:配置选错了,随时释放重新买,实体机买了不能退
- 零基础也能上手:有图形化控制台,点几下鼠标就创建好
- 学到真东西:SSH 远程管理、Linux 命令、Web 部署……都是真正的服务器运维技能
- 可跑真实项目:你的个人博客、微信小程序后端、爬虫脚本,都可以跑在上面
你的第一台服务器,不需要很贵。阿里云 99 元/年的「新用户专享」轻量应用服务器,足够你跑博客、练手、学 Linux。学完再升级。
二、准备工作:选一台适合你的服务器
2.1 注册阿里云账号
- 打开 阿里云官网
- 点击右上角「免费注册」,用邮箱或手机号注册
- 完成实名认证:个人用户上传身份证正反面,企业用户上传营业执照
- 绑定支付方式(支付宝/银行卡),用于后续按量付费扣款
⚠️ 重要提醒:实名认证是必须的,不然无法购买 ECS。认证过程大约 1-2 分钟,很快。
2.2 选购 ECS 的关键参数怎么选
登录阿里云控制台 → 搜索「ECS」→ 进入「云服务器 ECS」→ 点击「创建实例」。
你会看到一堆参数,别慌,我来逐个解释:
计费方式
| 计费方式 | 适合场景 | 小白建议 |
|---|---|---|
| 包年包月 | 长期运行(>3个月) | 推荐新手选这个,99元/年起,价格透明 |
| 按量付费 | 临时测试、用完即释放 | 适合临时跑个实验,小心费用溜走 |
| 抢占式实例 | 可中断任务(渲染、大数据) | 不推荐新手,会被回收 |
地域和可用区
- 地域:服务器的物理位置,比如「华东 1(杭州)」「华北 2(北京)」
- 可用区:同一地域内的不同机房,比如「杭州可用区 A」和「杭州可用区 B」
小白选择原则:
- 选离你用户最近的地域。如果你的用户主要在北方,选北京;在南方,选杭州/深圳
- 如果不确定,选华东 1(杭州)——阿里云总部所在地,资源最丰富
- 可用区随机选即可,对小白来说没有差别
实例规格:CPU 和内存
这是最重要的参数。规格族的命名规则:
ecs.c7.large → 计算型 c7 系列,2核CPU 4GB内存
ecs.r7.xlarge → 内存型 r7 系列,4核CPU 16GB内存
ecs.g7.large → 通用型 g7 系列,2核CPU 8GB内存
| 用途 | 推荐规格 | 价格参考(包年包月) |
|---|---|---|
| 个人博客 / 学习 Linux | 1核 2GB 或 2核 2GB | 99-200 元/年 |
| 小型 Web 应用 / 微信小程序后端 | 2核 4GB | 500-800 元/年 |
| 中型网站 / 电商系统 | 2核 8GB 或 4核 8GB | 1500-3000 元/年 |
| 数据库服务器 / 缓存服务器 | 内存型 r7 系列,4核 16GB+ | 3000-6000 元/年 |
小白推荐:先选 2核 2GB 或 2核 4GB 的「共享标准型」或「突发性能实例」,够用且便宜。等业务大了再升级,阿里云支持在线变配(不停机升级配置)。
镜像:操作系统选择
| 镜像类型 | 推荐 | 适合谁 |
|---|---|---|
| CentOS 7.9 / CentOS 8 | 不推荐新手 | 已停止维护,社区转向 AlmaLinux/Rocky Linux |
| AlmaLinux 8/9 | ⭐ 推荐 | CentOS 的完美替代,完全兼容 |
| Ubuntu 22.04 LTS | ⭐ 推荐 | 社区最大,教程最多,新手友好 |
| Debian 12 | 可选 | 比 Ubuntu 更纯净,适合有一定基础的人 |
| Windows Server | 不推荐 | 贵、慢、不适合跑 Web 服务 |
我的建议:新手选 AlmaLinux 9 或 Ubuntu 22.04 LTS。两个都是 Linux 系统,免费、稳定、教程多。
存储:系统盘和数据盘
- 系统盘:装操作系统的地方,默认 40GB,够用了
- 数据盘:额外加一块硬盘,用来存你的代码、数据库、日志等
小白建议:
- 系统盘默认 40GB 就行
- 如果要做图片站、视频站,加一块 100GB 的数据盘(ESSD 入门版,0.5元/GB/月)
- 存储类型选 ESSD 云盘(性能最好)或 高效云盘(性价比最高)
2.3 网络和存储配置
网络配置
创建实例时,网络部分会自动帮你创建:
- VPC(专有网络):阿里云的默认 VPC,相当于你专属的网络
- 交换机(vSwitch):VPC 下的子网,自动分配内网 IP
- 安全组:默认会有一个安全组,只开放 22 端口(SSH)和 3389 端口(Windows远程桌面)
小白操作:这些全部选默认即可,阿里云会自动帮你搞定。
带宽和 IP
- 带宽计费方式:
- 按固定带宽:比如买 1Mbps,一个月几十元,适合流量稳定的网站
- 按使用流量:用多少付多少,适合流量不确定的场景
- 分配公网 IP:一定要勾选,不然你的服务器没公网 IP,全世界访问不到
小白建议:
- 先选 1Mbps 固定带宽(约 23 元/月),够用
- 如果流量大了,随时升级
- 勾选「分配公网 IPv4 地址」
💡 带宽 1Mbps 是什么意思?
1Mbps = 128KB/s 的下载速度。对于一个文字博客,1Mbps 够 20-30 人同时访问。如果图片多,建议升级到 5Mbps。
最后一步:设置登录凭证
有两种方式登录你的服务器:
| 方式 | 安全性 | 小白推荐度 |
|---|---|---|
| 密钥对(Key Pair) | ⭐⭐⭐⭐⭐ 最高 | ⭐⭐⭐⭐⭐ 强烈推荐 |
| 密码 | ⭐⭐ 较低 | 不推荐 |
密钥对登录方式:
- 阿里云自动生成一对密钥(公钥 + 私钥)
- 公钥放在服务器上,私钥下载到你的电脑(
.pem文件) - 你登录时,用私钥证明「我是我」,不需要输入密码
操作步骤:
- 选择「密钥对」→ 点击「创建密钥对」
- 输入密钥对名称(如
my-first-key) - 阿里云自动下载
.pem文件到你电脑 → 务必保存好!丢了无法找回! - 创建实例时选择这个密钥对
确认订单并创建
检查所有配置:
- ✅ 地域:华东 1(杭州)
- ✅ 规格:2核 2GB(共享标准型)
- ✅ 镜像:AlmaLinux 9 / Ubuntu 22.04
- ✅ 系统盘:40GB ESSD
- ✅ 带宽:1Mbps,分配公网 IP
- ✅ 登录方式:密钥对
确认无误后,点击「确认订单」→ 支付。创建过程大约 1-3 分钟。
三、连接你的服务器:迈出第一步
3.1 获取服务器连接信息
实例创建成功后,在 ECS 控制台 → 实例列表,找到你的服务器,点击「管理」。
你需要记录以下信息:
| 信息 | 位置 | 示例 |
|---|---|---|
| 公网 IP | 实例详情页 → 网络信息 | 47.96.123.45 |
| 用户名 | Linux 系统默认是 root |
root |
| 登录方式 | 你创建时选的 | 密钥对 |
| 密钥文件 | 你下载的 .pem 文件 |
my-first-key.pem |
3.2 Windows 上连接:PuTTY / Xshell
Windows 10/11 已经内置了 OpenSSH 客户端,你可以直接用 PowerShell 或 Windows Terminal 进行 SSH 登录。如果你喜欢用图形化工具,也可以下载 PuTTY 或 Xshell。
方案 A:PuTTY(免费,推荐)
- 下载 PuTTY 并安装
- 打开 PuTTYgen(PuTTY 自带的密钥转换工具)
- 点击「Load」,选择你下载的
.pem文件 - 点击「Save private key」,保存为
.ppk文件(PuTTY 专用格式) - 打开 PuTTY:
- Host Name:输入你的公网 IP(如
47.96.123.45) - Port:22(默认)
- Connection → SSH → Auth → Private key:选择刚才保存的
.ppk文件
- Host Name:输入你的公网 IP(如
- 点击「Open」,输入用户名
root,回车登录
方案 B:Windows Terminal(Windows 10/11 推荐)
Windows 10 2004 版本以后,可以用 PowerShell 直接 SSH:
# 1. 先给密钥文件设置权限(否则 SSH 会拒绝使用)
icacls "C:\Users\你的用户名\Downloads\my-first-key.pem" /inheritance:r /grant:r "%username%:R"
# 2. 直接 SSH 连接
ssh -i "C:\Users\你的用户名\Downloads\my-first-key.pem" root@47.96.123.45
3.3 Mac 上连接:终端直接搞定
Mac 自带 SSH,操作最简单:
# 1. 给密钥文件设置权限(必须做,否则 SSH 拒绝连接)
chmod 400 ~/Downloads/my-first-key.pem
# 2. 直接连接
ssh -i ~/Downloads/my-first-key.pem root@47.96.123.45
第一次连接会提示 Are you sure you want to continue connecting?,输入 yes 回车即可。
3.4 常用 Linux 命令速查
登录成功后,你会看到类似这样的提示:
[root@iZbp1abcdefg123456789Z ~]#
这表示你已经进入服务器了!下面是新手最常用的命令:
# 查看当前目录下的文件
ls
# 查看当前目录(完整路径)
pwd
# 切换目录
cd /var/www/html
# 查看文件内容
cat filename.txt
# 编辑文件(用 nano,比 vim 简单)
nano filename.txt
# 安装软件(AlmaLinux/CentOS)
yum install -y nginx
# 安装软件(Ubuntu)
apt update && apt install -y nginx
# 查看系统运行状态
top
# 查看磁盘空间
df -h
# 查看内存使用
free -h
# 查看网络连接(看哪些端口在监听)
netstat -tlnp
# 退出服务器
exit
💡 小技巧:在 Linux 里,按
Tab键可以自动补全文件名和命令,按↑键可以调用上一条命令。善用这两个键,效率翻倍。
四、安全第一课:别让你的服务器裸奔
4.1 安全组:服务器的防火墙
安全组(Security Group)是阿里云提供的虚拟防火墙,控制「哪些 IP、哪些端口可以访问你的服务器」。
默认情况下,阿里云只给你开了:
- 22 端口(SSH 远程登录)
- 3389 端口(Windows 远程桌面)
但当你跑 Web 服务时,需要额外开放端口:
| 端口 | 用途 | 是否需要开放 |
|---|---|---|
| 22 | SSH 远程登录 | ✅ 必须(但建议限制 IP) |
| 80 | HTTP 网站访问 | ✅ 必须 |
| 443 | HTTPS 网站访问 | ✅ 必须 |
| 3306 | MySQL 数据库 | ❌ 不要对公网开放! |
| 6379 | Redis 缓存 | ❌ 不要对公网开放! |
| 8080 | 开发测试端口 | ⚠️ 用完立即关闭 |
如何添加安全组规则:
- 进入 ECS 控制台 → 实例 → 点击「管理」
- 左侧菜单「安全组」→ 点击你的安全组名称
- 点击「添加安全组规则」:
- 协议类型:自定义 TCP
- 端口范围:80/80(HTTP)
- 授权对象:0.0.0.0/0(表示全世界都能访问,后面再优化)
- 优先级:1
- 同样方法添加 443 端口(HTTPS)
⚠️ 危险操作:千万不要把 3306(MySQL)和 6379(Redis)开放到公网!如果你的数据库在公网可访问,黑客分分钟爆破进来。数据库只让内网服务器访问,后面会讲 VPC 怎么配置。
4.2 创建 RAM 用户:别把主账号密码给任何人
RAM(Resource Access Management) 是阿里云的资源访问控制服务。简单说:不要把你阿里云的主账号(相当于「老板卡」)随便给别人,而是给每个人发一张「员工卡」(RAM 用户),每张卡只能开特定的门。
为什么要这样做?
- 如果 10 个人都知道主账号密码,1 个人泄露了 = 全部完蛋
- 如果用 RAM 用户,每个人的权限可以单独控制,单独回收
创建 RAM 用户的步骤:
- 阿里云控制台 → 搜索「RAM」→ 进入「访问控制」
- 左侧「用户」→ 点击「创建用户」
- 输入登录名称(如
developer-zhangsan) - 勾选「控制台访问」和「编程访问」
- 创建完成后,系统会显示 AccessKey ID 和 AccessKey Secret → 立即复制保存,只显示一次!
- 给这个 RAM 用户授权:
- 点击「添加权限」
- 搜索并选择「AliyunECSReadOnlyAccess」(只读 ECS)
- 或者根据实际需要选择其他权限策略
场景举例:你雇了一个外包帮你开发,你可以给他一个 RAM 用户,只给他「查看 ECS 日志」和「上传 OSS 文件」的权限,他不能删除服务器、不能看账单、不能改域名解析。
4.3 密钥 vs 密码:强烈建议用密钥登录
密码登录的安全隐患:
- 黑客可以用「密码字典」暴力破解你的密码
- 简单密码(如
123456、password)几秒钟就被破解 - 密码泄露后,任何人都能登录
密钥登录的优势:
- 密钥是一段极长的随机字符串(2048 位以上),暴力破解几乎不可能
- 即使黑客知道你的 IP,没有私钥文件也无法登录
- 私钥只存在你的电脑上,不会在网络上传输
如果你已经用密码创建了服务器,如何改用密钥?
# 1. 登录服务器后,生成新的密钥对
ssh-keygen -t rsa -b 4096 -C "your-email@example.com"
# 2. 按提示操作,默认保存在 ~/.ssh/id_rsa
# 3. 将公钥添加到授权列表
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 4. 下载私钥文件到本地(用 scp 或 FTP 工具)
# 5. 修改 SSH 配置,禁用密码登录
nano /etc/ssh/sshd_config
在 sshd_config 中修改:
PasswordAuthentication no # 禁用密码登录
PubkeyAuthentication yes # 启用密钥登录
PermitRootLogin prohibit-password # 禁止 root 用密码登录
# 重启 SSH 服务生效
systemctl restart sshd
4.4 更新系统和关闭高危端口
服务器刚创建好,第一件事就是更新系统:
# AlmaLinux / CentOS
yum update -y
# Ubuntu
apt update && apt upgrade -y
然后关闭不需要的服务和端口:
# 查看当前运行的服务
systemctl list-units --type=service
# 关闭不需要的服务(例如邮件服务)
systemctl stop postfix
systemctl disable postfix
# 安装防火墙(如果系统没有)
# AlmaLinux / CentOS
yum install -y firewalld
systemctl enable firewalld
systemctl start firewalld
# 只开放必要端口
firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload
五、部署你的第一个网站
5.1 安装 Web 环境:LNMP 一键安装
LNMP 是 Linux + Nginx + MySQL + PHP 的缩写,是跑动态网站(WordPress、Discuz 等)的经典组合。
一键安装脚本(推荐新手):
# 下载 LNMP 一键安装包(以 lnmp.org 为例)
wget http://soft.vpser.net/lnmp/lnmp2.1.tar.gz -O lnmp2.1.tar.gz
# 解压
tar zxf lnmp2.1.tar.gz
# 进入目录并安装
cd lnmp2.1
./install.sh lnmp
# 按提示选择:
# - MySQL 版本:选 8.0(最新)或 5.7(稳定)
# - PHP 版本:选 8.1 或 8.2
# - Nginx 版本:选 1.24(最新稳定版)
# - 是否安装 InnoDB:选 Yes(必须)
# - 数据库 root 密码:设置一个强密码!
安装过程大约 20-40 分钟(取决于服务器配置)。安装完成后,你的服务器已经能跑 PHP 网站了。
验证安装是否成功:
# 查看 Nginx 是否运行
systemctl status nginx
# 查看 MySQL 是否运行
systemctl status mysqld
# 查看 PHP 是否运行
systemctl status php-fpm
在浏览器里输入你的公网 IP,如果看到 Nginx 的欢迎页面,说明安装成功!
5.2 Nginx 核心配置:你的网站「交通警察」
安装好 LNMP 后,Nginx 已经在后台默默工作了。但你得知道它是什么、怎么配,不然网站出了问题会一脸懵。
Nginx 是什么?
Nginx(发音 “engine-x”)是一个高性能的 Web 服务器和反向代理服务器。你可以把它理解为:
网站的「交通警察」——所有用户访问你的网站,都要先经过 Nginx,它决定把请求分发给谁(PHP 文件交给 PHP 处理,静态文件直接返回,图片视频交给 OSS)。
相比老牌的 Apache,Nginx 的特点是:
- 占用内存少:1 核 1GB 的服务器也能跑得很流畅
- 并发能力强:轻松扛住几千人同时访问
- 配置简单:一个文件就能定义一个网站的规则
Nginx 核心配置文件
Nginx 的主配置文件在 /usr/local/nginx/conf/nginx.conf,你创建的每个网站通常会有一个单独的虚拟主机配置文件:
# 主配置文件(全局设置)
nano /usr/local/nginx/conf/nginx.conf
# 虚拟主机配置文件(每个网站一个)
nano /usr/local/nginx/conf/vhost/yourname.com.conf
一个最小可用的 Nginx 配置长什么样
server {
listen 80; # 监听 80 端口(HTTP)
server_name yourname.com; # 你的域名
root /var/www/html; # 网站文件放在哪里
index index.html index.php; # 默认打开的文件
# 处理静态文件(图片、CSS、JS)
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css|js)$ {
expires 30d; # 缓存 30 天
}
# 处理 PHP 请求(交给 PHP-FPM)
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000; # PHP 处理器的地址
fastcgi_index index.php;
include fastcgi.conf;
}
# 日志记录
access_log /var/log/nginx/yourname.com.access.log;
error_log /var/log/nginx/yourname.com.error.log;
}
常用 Nginx 命令速查
# 测试配置是否正确(修改配置后必须先执行这个)
nginx -t
# 重载配置(不中断服务)
nginx -s reload
# 重启 Nginx
systemctl restart nginx
# 停止 Nginx
systemctl stop nginx
# 查看 Nginx 进程状态
ps aux | grep nginx
⚠️ 重要:每次修改 Nginx 配置文件后,务必执行
nginx -t检查语法,再执行nginx -s reload生效。如果配置写错了,Nginx 会拒绝加载,你的网站就打不开了。
为什么 Nginx 很重要
- 反向代理:把用户请求转发给后端应用(PHP、Node.js、Python)
- 负载均衡:多台服务器时,把流量均匀分配给每台机器
- 静态资源加速:图片、CSS、JS 直接由 Nginx 返回,不用麻烦后端程序
- Gzip 压缩:开启后网页传输体积减少 60%,访问速度大幅提升
5.3 部署你的项目文件
方式一:用 scp 命令上传(适合小文件)
# 从本地上传文件到服务器
scp -i my-first-key.pem ./my-project.zip root@47.96.123.45:/var/www/html/
# 登录服务器解压
ssh -i my-first-key.pem root@47.96.123.45
cd /var/www/html
unzip my-project.zip
方式二:用 FTP 工具(适合大量文件,推荐 FileZilla)
- 下载 FileZilla
- 打开 FileZilla → 站点管理器 → 新站点:
- 协议:SFTP(SSH 文件传输协议)
- 主机:你的公网 IP
- 端口:22
- 登录类型:密钥文件
- 密钥文件:选择你的
.pem文件
- 连接后,左侧是本机文件,右侧是服务器文件
- 拖拽上传即可
方式三:用 Git 直接拉取(适合代码项目)
# 在服务器上安装 Git
yum install -y git
# 克隆你的项目
cd /var/www/html
git clone https://github.com/yourname/your-project.git
# 如果有依赖,安装(以 Node.js 为例)
cd your-project
npm install
npm run build
5.4 域名注册:给你的网站一个名字
IP 地址(如 47.96.123.45)不好记,而且换服务器 IP 会变。域名(如 yourname.com)好记、好分享、还能绑定 SSL 证书。
域名注册步骤:
- 阿里云控制台 → 搜索「域名」→ 进入「域名控制台」
- 点击「域名注册」→ 输入你想注册的域名(如
yourname.com) - 查询是否可用 → 如果可用,加入购物车
- 选择购买年限(1-10 年)→ 付款
- 完成实名认证:域名注册后必须实名认证才能使用
💡 域名选择建议:
- 尽量短、好记、有意义
.com通用性最好,但好名字大多被注册了.cn便宜(约 30-50 元/年),但只面向中国用户- 如果
.com被注册,可以尝试.net、.org、.io(技术类)、.dev(开发者)
5.5 域名解析:让用户能找到你
买了域名后,还需要告诉全世界「这个域名对应哪个 IP 地址」,这个过程叫域名解析(DNS 解析)。
添加解析记录:
- 阿里云控制台 → 域名 → 找到你的域名 → 点击「解析」
- 点击「添加记录」:
- 记录类型:A(将域名指向 IPv4 地址)
- 主机记录:
- 填
@→ 表示主域名(如yourname.com) - 填
www→ 表示www.yourname.com - 填
api→ 表示api.yourname.com
- 填
- 解析请求来源:默认(全球)
- 记录值:你的服务器公网 IP(如
47.96.123.45) - TTL:默认 10 分钟
- 点击「确认」
配置 Nginx 虚拟主机:
# 编辑 Nginx 配置文件
nano /usr/local/nginx/conf/vhost/yourname.com.conf
添加以下内容:
server {
listen 80;
server_name yourname.com www.yourname.com;
root /var/www/html/your-project;
index index.html index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~ /\.(git|env|sql)$ {
deny all;
}
}
# 测试 Nginx 配置是否正确
nginx -t
# 重启 Nginx
systemctl restart nginx
等待 DNS 生效(通常 10 分钟 - 2 小时),然后在浏览器输入 yourname.com,应该能看到你的网站了!
5.6 申请 SSL 证书:让网站显示「安全」锁
没有 SSL 证书的网站,浏览器会显示「不安全」警告,吓跑用户。有了 SSL 证书,网站会变成 https://,地址栏显示小锁头🔒。
申请免费 SSL 证书:
- 阿里云控制台 → 搜索「SSL」→ 进入「数字证书管理服务」
- 点击「创建证书」→ 选择「免费证书」(DV 域名验证型,有效期 1 年)
- 输入域名 → 选择验证方式:
- 自动 DNS 验证(推荐,如果域名在阿里云解析)
- 手动 DNS 验证(需要添加一条 TXT 记录)
- 提交后等待审核(通常几分钟到几小时)
- 审核通过后,下载证书文件(Nginx 格式)
配置 Nginx 使用 SSL:
# 上传证书文件到服务器
mkdir -p /usr/local/nginx/cert
# 用 scp 或 FileZilla 上传 .pem 和 .key 文件到 /usr/local/nginx/cert/
# 编辑 Nginx 配置
nano /usr/local/nginx/conf/vhost/yourname.com.conf
修改配置:
server {
listen 80;
server_name yourname.com www.yourname.com;
# 将 HTTP 自动跳转到 HTTPS
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name yourname.com www.yourname.com;
root /var/www/html/your-project;
index index.html index.php;
# SSL 证书配置
ssl_certificate /usr/local/nginx/cert/yourname.com.pem;
ssl_certificate_key /usr/local/nginx/cert/yourname.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
# 测试配置并重启
nginx -t
systemctl restart nginx
现在访问 https://yourname.com,应该能看到小锁头了!🎉
六、数据存储:文件和备份
6.1 为什么需要对象存储 OSS
前面把网站文件放在服务器硬盘上,但遇到几个问题:
- 图片、视频多的时候,硬盘空间不够
- 用户访问图片时,占用服务器带宽,网站变慢
- 换服务器时,文件迁移麻烦
OSS(对象存储) 就是来解决这些问题的。你可以把它理解成一个「无限大的网盘」:
- 文件存在云端,不占用服务器硬盘
- 通过 CDN 加速,用户从最近的服务器下载图片,速度快
- 和服务器解耦,换服务器不影响文件
6.2 创建 OSS 存储桶并上传文件
创建存储桶:
- 阿里云控制台 → 搜索「OSS」→ 进入「对象存储 OSS」
- 点击「创建 Bucket」:
- Bucket 名称:全局唯一,如
yourname-images - 地域:和你的 ECS 同一个地域(减少内网流量费)
- 存储类型:标准存储(热数据)
- 读写权限:
- 私有:文件需要签名才能访问(适合敏感文件)
- 公共读:所有人都能访问(适合图片、CSS、JS 等静态资源)
- 公共读写:任何人都能上传和删除(不推荐)
- Bucket 名称:全局唯一,如
- 点击「确定」创建
上传文件:
- 进入 Bucket → 点击「文件管理」→「上传文件」
- 拖拽文件或点击选择文件
- 上传完成后,文件会有一个 URL,如
https://yourname-images.oss-cn-hangzhou.aliyuncs.com/photo.jpg
在网站中使用 OSS 文件:
<!-- 以前 -->
<img src="/images/photo.jpg" alt="照片">
<!-- 现在 -->
<img src="https://yourname-images.oss-cn-hangzhou.aliyuncs.com/photo.jpg" alt="照片">
6.3 快照:给你的服务器拍个照
快照(Snapshot)是磁盘在某个时刻的完整备份。就像给服务器「拍个照片」,如果以后系统坏了、数据丢了、被黑了,可以回滚到这个快照状态。
创建快照:
- ECS 控制台 → 实例 → 点击「管理」
- 左侧「本实例磁盘」→ 找到系统盘 → 点击「创建快照」
- 输入快照名称(如
before-upgrade-2026-06-22) - 点击「确定」
设置自动快照策略(强烈推荐):
- 左侧「快照」→「自动快照策略」
- 创建策略:
- 策略名称:
daily-backup - 创建时间:每天凌晨 3:00(业务低峰期)
- 保留天数:7 天(自动删除旧快照,节省空间)
- 策略名称:
- 将策略应用到你的磁盘
💡 快照是免费的吗?
快照按存储空间收费,约 0.12 元/GB/月。如果你的系统盘 40GB,一个快照约 4.8 元/月。7 个快照约 33.6 元/月。这是花小钱买大安心。
七、日志与问题排查:出了问题不慌
7.1 日志服务 SLS 简介
服务器运行过程中会产生大量日志:
- Nginx 访问日志:谁访问了你的网站,访问了哪些页面
- Nginx 错误日志:网站出错了,原因是什么
- 应用日志:你的程序打印的日志
- 系统日志:操作系统运行日志
没有日志管理的问题:
- 日志文件越来越大,撑爆硬盘
- 出了问题,要到服务器上手动翻日志,效率低
- 日志分散在多台服务器,无法统一分析
SLS(日志服务) 可以帮你:
- 自动收集所有服务器的日志到云端
- 通过搜索快速定位问题(比如搜
error或500) - 设置告警,出错时自动发短信通知你
小白简化方案:先不用 SLS,直接在服务器上看日志:
# 实时查看 Nginx 访问日志(像看直播一样)
tail -f /usr/local/nginx/logs/access.log
# 查看 Nginx 错误日志
tail -f /usr/local/nginx/logs/error.log
# 查看系统日志
journalctl -f
# 搜索日志中的关键词
grep "500" /usr/local/nginx/logs/error.log
业务大了以后,再用 SLS 做日志集中管理。
7.2 快速定位网站无法访问的问题
网站突然打不开了?按这个顺序排查:
Step 1: 检查域名解析
├─ 在本地命令行执行:ping yourname.com
├─ 如果返回的 IP 不是你的服务器 IP → DNS 解析问题
└─ 解决:检查 DNS 记录,确认 A 记录指向正确 IP
Step 2: 检查服务器是否运行
├─ 在服务器上执行:systemctl status nginx
├─ 如果显示 inactive → Nginx 挂了
└─ 解决:systemctl restart nginx
Step 3: 检查安全组/防火墙
├─ 确认 80 和 443 端口已开放
├─ 检查服务器防火墙:firewall-cmd --list-all
└─ 解决:添加规则开放端口
Step 4: 检查磁盘空间
├─ 执行:df -h
├─ 如果某个分区 100% → 磁盘满了,服务无法写入
└─ 解决:清理日志或大文件
Step 5: 检查 Nginx 配置
├─ 执行:nginx -t
├─ 如果有语法错误 → 修复配置文件
└─ 解决:根据错误提示修改配置
Step 6: 查看应用日志
├─ 查看 PHP/MySQL 错误日志
└─ 根据错误信息修复代码或数据库
7.3 常用排查命令
# 查看当前运行的进程
ps aux | grep nginx
# 查看端口占用情况
netstat -tlnp | grep :80
# 查看最近的系统日志(最后 50 行)
journalctl -n 50
# 查看 Nginx 配置语法
nginx -t
# 测试网站响应
curl -I http://yourname.com
# 查看 DNS 解析结果
nslookup yourname.com
# 检查网络连通性(从你的服务器访问外网)
ping www.baidu.com
# 查看磁盘哪些文件占用最大
du -sh /var/log/*
# 清理 Nginx 日志(如果太大)
echo "" > /usr/local/nginx/logs/access.log
echo "" > /usr/local/nginx/logs/error.log
八、进阶:打造高可用架构
8.1 VPC 专有网络:划分你的虚拟机房
VPC(Virtual Private Cloud)是阿里云给你的一个「虚拟机房」。你的所有云资源(ECS、RDS、OSS)都在这个虚拟网络里,只有你能访问,其他用户完全隔离。
为什么要用 VPC?
- 安全隔离:你的服务器和其他人的服务器虽然在同一个物理机房,但网络完全隔离
- 灵活划分:可以划分「公共子网」(放 Web 服务器)和「私有子网」(放数据库)
- 合规要求:很多行业等保要求必须使用 VPC
小白简化操作:
- 创建 ECS 时,阿里云已经自动给你创建了默认 VPC 和交换机,不用手动配置
- 默认 VPC 已经够用了,等你有多个服务器时,再考虑手动划分 VPC
未来进阶的架构:
┌──────────────────────────────────────────────────┐
│ VPC 专有网络 │
│ │
│ ┌──────────────┐ ┌──────────────────────┐ │
│ │ 公共子网 │ │ 私有子网 │ │
│ │ (公网可访问) │ │ (仅内网可访问) │ │
│ │ │ │ │ │
│ │ ┌────────┐ │ │ ┌────────┐ ┌──────┐ │ │
│ │ │ Web │ │◄────►│ │ MySQL │ │Redis │ │ │
│ │ │ 服务器 │ │ 内网 │ │ 数据库 │ │缓存 │ │ │
│ │ └────────┘ │ │ └────────┘ └──────┘ │ │
│ └──────────────┘ └──────────────────────┘ │
│ │
└──────────────────────────────────────────────────┘
8.2 NAT 网关:让内网服务器安全上网
前面说数据库应该放在私有子网(不暴露到公网),但私有子网的服务器有一个问题:它无法直接访问互联网。比如你要更新系统补丁、下载 npm 包,都需要访问外网。
NAT 网关就是来解决这个问题的:
- 私有子网的服务器 → 发起外网请求 → NAT 网关 → 用 NAT 的公网 IP 访问外网
- 外网无法主动访问私有子网的服务器(单向出网)
创建 NAT 网关:
- 阿里云控制台 → 搜索「NAT」→ 进入「NAT 网关」
- 点击「创建 NAT 网关」:
- 地域:和 ECS 相同
- 专有网络:选择你的 VPC
n - 交换机:选择私有子网的交换机 - 规格:小型(够用)
- 创建后,配置 SNAT 规则:
- 选择「SNAT 列表」→ 创建 SNAT 条目
- 交换机:选择私有子网
- 公网 IP:选择你的 EIP 或 NAT 网关自带的 IP
8.3 弹性公网 IP:随时换机器不换 IP
前面创建 ECS 时,阿里云会分配一个「普通公网 IP」,这个 IP 和 ECS 绑定在一起。如果 ECS 释放了,IP 就没了。
弹性公网 IP(EIP) 的优势:
- 可以独立购买和释放
- 可以随时绑定到任意 ECS 上
- 换服务器时,EIP 迁移到新服务器,域名解析不用改
场景举例:你的服务器被攻击了,需要快速切换到备用服务器:
- 有 EIP:解绑 → 绑定到新服务器 → 10 秒完成,用户无感知
- 没有 EIP:释放旧服务器 → 买新服务器 → 新 IP → 改 DNS 解析 → 等待生效 → 30 分钟
创建 EIP:
- 阿里云控制台 → 搜索「弹性公网 IP」
- 点击「创建弹性公网 IP」→ 选择地域 → 购买
- 点击「绑定资源」→ 选择你的 ECS 实例
8.4 消息队列 MNS:让系统松耦合
当你的业务复杂了,比如用户下单后,需要同时做:扣库存、发短信、发邮件、加积分……如果全部同步处理,用户要等待所有操作完成才能看到「下单成功」。
MNS(消息队列) 的作用:
- 订单系统发一条消息到队列 → 立即返回「下单成功」给用户
- 库存系统、短信系统、积分系统各自从队列取消息,异步处理
- 即使某个系统慢了或挂了,也不影响用户下单
小白阶段还用不到 MNS,但要知道这个思路。等你的系统有多个服务需要协作时,再引入消息队列。
九、总结:你的云服务器全景图
经过前面的步骤,你已经从零搭建了一个完整的网站架构。让我们画一张全景图,看看你拥有了什么:
用户浏览器
│
▼
┌────────────────────┐
│ 域名 yourname.com │ ← 你在阿里云注册的域名
│ DNS 解析 → 公网 IP │ ← 云解析 DNS
└──────────┬─────────┘
│
┌──────────▼──────────┐
│ 负载均衡 SLB │ ← 可选,多台服务器时才需要
│ (流量分发入口) │
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ Nginx Web 服务器 │ ← 你的 ECS 云服务器
│ (处理 HTTP 请求) │
│ - 80 端口 (HTTP) │
│ - 443 端口 (HTTPS) │ ← SSL 证书加密
└──────────┬──────────┘
│
┌────────────────┼────────────────┐
│ │ │
┌────────▼─────┐ ┌──────▼──────┐ ┌──────▼──────┐
│ PHP/Node.js │ │ MySQL 数据库 │ │ 静态文件 │
│ 应用代码 │ │ (用户数据) │ │ (OSS) │
│ /var/www │ │ 本地或 RDS │ │ 图片/视频/JS │
└──────────────┘ └─────────────┘ └─────────────┘
│ │ │
└────────────────┼────────────────┘
│
┌──────────▼──────────┐
│ 日志服务 │ ← SLS(进阶使用)
│ 收集所有日志 │
│ 便于排查问题 │
└─────────────────────┘
你已经学会的技能清单
| 技能 | 掌握程度 |
|---|---|
| 选购和创建 ECS 云服务器 | ✅ 已掌握 |
| 用 SSH 远程登录 Linux | ✅ 已掌握 |
| 配置安全组防火墙 | ✅ 已掌握 |
| 创建 RAM 用户管理权限 | ✅ 已掌握 |
| 安装 LNMP 环境 | ✅ 已掌握 |
| 部署网站到服务器 | ✅ 已掌握 |
| 注册域名和 DNS 解析 | ✅ 已掌握 |
| 申请和配置 SSL 证书 | ✅ 已掌握 |
| 使用 OSS 存储文件 | ✅ 已掌握 |
| 创建快照备份 | ✅ 已掌握 |
| 排查网站故障 | ✅ 已掌握 |
| VPC/NAT/EIP 进阶架构 | 📖 已了解,待实践 |
| 消息队列 MNS | 📖 已了解,待实践 |
推荐的学习路径
阶段1(现在):跑通第一个网站
├─ 你已经完成了!🎉
├─ 建议:部署一个个人博客(WordPress/Hexo/VuePress)
└─ 目标:理解完整的 Web 部署流程
阶段2(1-2 周后):优化和监控
├─ 学习:配置监控告警(云监控)
├─ 学习:日志服务 SLS 收集日志
├─ 学习:CDN 加速静态资源
└─ 目标:网站稳定运行,出问题能及时发现
阶段3(1-2 月后):高可用和自动化
├─ 学习:负载均衡 + 多台服务器
├─ 学习:自动伸缩(根据流量自动增减服务器)
├─ 学习:CI/CD 自动部署(GitHub Actions + 阿里云)
└─ 目标:系统能扛住流量高峰,部署自动化
阶段4(3-6 月后):云原生和架构进阶
├─ 学习:Docker 容器化部署
├─ 学习:Kubernetes 容器编排
├─ 学习:微服务架构拆分
└─ 目标:掌握企业级云架构设计能力
最小可用架构配置清单(直接照着买)
如果你不知道该怎么选配置,下面这张表是个人博客/学习项目/小型网站的「最小可用」组合,直接照着选就行:
| 组件 | 推荐配置 | 月费用参考 | 说明 |
|---|---|---|---|
| ECS 云服务器 | 2 核 2GB 或 2 核 4GB | 30-80 元/月 | 入门够用,支持在线升级 |
| 操作系统 | AlmaLinux 9 / Ubuntu 22.04 LTS | 免费 | 稳定、社区活跃、教程多 |
| 公网带宽 | 1Mbps 固定带宽 | 23 元/月 | 文字博客够 20-30 人同时访问 |
| 系统盘 | 40GB SSD 云盘 | 包含在实例费用中 | 系统和应用代码 |
| 数据盘 | 100GB SSD 云盘(可选) | 35 元/月 | 数据库和日志,避免系统盘爆满 |
| Web 服务器 | Nginx 1.24 | 免费 | 高性能、低资源占用 |
| 数据库 | MySQL 8.0(本地) | 免费 | 数据量 < 10GB 时本地足够 |
| 域名 | .com / .cn 域名 | 30-70 元/年 | 让用户记住你的网站 |
| SSL 证书 | 阿里云免费证书 | 免费 | 每年可申请 20 张,到期更换 |
| 备份策略 | 每周自动快照 + 手动快照 | 快照费用按量 | 数据无价,务必备份 |
| 对象存储 OSS | 标准存储 50GB | 约 5 元/月 | 图片、视频、备份文件 |
| 安全组 | 仅开放 22/80/443 | 免费 | 其他端口全部关闭 |
| 监控告警 | 云监控基础版 | 免费 | CPU > 80% 或磁盘 > 85% 时告警 |
最小可用 ≠ 最低配。上面的配置是「刚好能稳定运行个人网站」的底线,在此基础上,流量大了随时升级,阿里云支持在线变配(不用关机)。
十、附录:常见问题速查
Q1:服务器登录不上怎么办?
# 检查1:安全组是否允许 22 端口
# 检查2:服务器是否运行(控制台看状态)
# 检查3:密钥文件权限是否正确(chmod 400)
# 检查4:网络是否通(ping 公网 IP)
# 检查5:用阿里云控制台的「VNC 远程连接」登录(不需要 SSH)
Q2:网站访问慢怎么办?
- 升级带宽(1Mbps → 5Mbps)
- 图片放到 OSS + CDN
- 开启 Nginx Gzip 压缩
- 用
top命令查看 CPU 是否 100% - 用
free -h查看内存是否不足
Q3:磁盘满了怎么办?
# 查看哪个目录占空间大
du -sh /* | sort -rh | head -10
# 清理日志
echo "" > /var/log/nginx/access.log
# 清理 yum 缓存
yum clean all
# 删除旧的内核(保留当前和上一个)
pkg list installed kernel | tail -n +3
Q4:忘记数据库密码怎么办?
# 停止 MySQL
systemctl stop mysqld
# 跳过权限启动
mysqld_safe --skip-grant-tables &
# 登录并修改密码
mysql -u root
UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE user='root';
FLUSH PRIVILEGES;
EXIT;
# 重启 MySQL
systemctl restart mysqld
Q5:如何重启服务器?
# 安全重启(推荐)
reboot
# 或者从阿里云控制台 → 实例 → 更多 → 重启
Q6:如何释放服务器(不再使用)?
- 确保已备份所有数据(快照 + 文件下载到本地)
- ECS 控制台 → 实例 → 更多 → 释放实例
- 释放 EIP(如果有)
- 释放 OSS Bucket(如果不需要了)
- 释放域名(如果不想保留了)
⚠️ 释放后数据不可恢复!确保备份!
Q7:新用户有什么优惠?
- 阿里云「新用户专享」轻量应用服务器:99 元/年(1核 2GB)
- 免费 SSL 证书:每年可以免费申请 20 个 DV 证书
- 免费 OSS 额度:每月 50GB 流量 + 10GB 存储(新用户首年)
- 免费 CDN 流量:每月 10GB(新用户首年)
Q8:服务器被攻击了怎么办?
- 立即修改所有密码(服务器、数据库、阿里云账号)
- 检查安全组,关闭不必要的端口
- 用
last命令查看登录记录,发现异常 IP 封禁 - 检查系统是否有可疑进程:
ps aux | grep -v "[\[\]" - 如果有快照,回滚到攻击前的快照
- 开启阿里云「云安全中心」(免费版即可),自动检测漏洞
写在最后:云计算听起来很高大上,但本质上就是「远程租一台电脑」。你不需要懂所有细节,先让第一个网站跑起来,有了信心之后再慢慢深入。最重要的是动手——看一百篇教程不如亲手创建一台服务器。遇到问题就查文档、搜 Google、问社区,每个云计算工程师都是从
ssh root@ip这一步开始的。祝你建站顺利!🚀
本文参考:阿里云官方文档、阿里云产品详解指南、CSDN 云服务器入门系列、掘金云计算实战教程
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)