对于 Web 开发者而言,掌握云服务器的使用是提升开发能力的重要一步。通过阿里云服务器,我们可以搭建个人网站、部署服务、配置远程数据库,还能深入理解 B/S 架构,为后续学习微信公众号、小程序开发等技术打下基础。本文将详细讲解阿里云 Ubuntu 服务器的购买配置流程,以及 Linux 操作系统的核心基础,帮助初学者快速上手。

一、阿里云 Ubuntu 服务器购买与配置

1.1 前期准备:账号注册与实名认证

首先需要通过阿里云官网完成账号注册与实名认证,具体步骤如下:

  1. 打开阿里云学生专享购买链接:阿里云校园专享活动(学生用户可享受优惠,非学生用户可直接访问阿里云 ECS 购买页面)。
  2. 使用支付宝扫码登录,登录后进入右上角【个人中心】,选择【实名认证】→【个人支付宝授权认证】,按照提示完成认证(实名认证是使用阿里云服务的前提,确保后续能正常使用服务器)。

1.2 云服务器 ECS 购买步骤

购买时建议选择Ubuntu 16.04 64 位系统(兼容性好、社区支持完善,适合初学者),具体配置选择如下:

  1. 进入购买页面后,在【镜像】选项中选择【公共镜像】→【Ubuntu 16.04 64 位】。
  2. 【地域】【实例规格】【网络类型】等参数保持默认即可(学生用户推荐 1vCPU、1GiB 内存的基础实例,满足初期学习需求)。
  3. 【购买时长】建议选择 6 个月及以上,性价比更高,避免频繁续费影响使用。
  4. 确认配置后提交订单,完成支付。

1.3 服务器初始化:重置登录密码

购买完成后,需要先重置登录密码才能远程连接,步骤如下:

  1. 登录阿里云官网,进入右上角【控制台】,在【已开通的云产品】中找到【云服务器 ECS】,点击进入 ECS 控制台。
  2. 在【实例列表】中找到已购买的服务器,点击操作列的【更多】→【重置实例密码】。
  3. 按照提示输入新密码(要求 8-30 个字符,需包含大写字母、小写字母、数字、特殊符号中的三项),确认密码后提交,此时会需要手机号验证码验证身份。
  4. 重置密码后,必须点击【重启实例】才能使新密码生效(重启过程约 1-2 分钟,期间服务器暂时无法访问)。

1.4 远程登录服务器

服务器初始化完成后,可通过网页端 VNC本地 SSH 工具(如 PuTTY、Xshell、终端)进行远程登录,以下是两种常用方式的详细操作:

1.4.1 网页端 VNC 登录(应急使用)

适合没有安装本地工具的场景,操作简单但功能有限:

  1. 在 ECS 实例列表中,点击目标服务器的【远程连接】→【VNC 远程连接】→【立即登录】。
  2. 系统会弹出一个对话框,显示 6 位临时登录密码(务必保存到备忘录,后续登录需要),输入密码后点击【确定】。
  3. 登录成功后,会进入 Ubuntu 的命令行界面,提示root@xxx:~#即表示登录成功(root 为 Linux 超级用户,拥有最高权限)。
1.4.2 本地 SSH 工具登录(推荐)

本地工具支持多终端、文件传输等功能,更适合日常开发,分 Windows 和 Mac 两种场景:

Windows 系统(使用 PuTTY/Xshell)

以 Xshell 为例(PuTTY 操作类似):

  1. 下载并安装 Xshell(官网下载),安装过程为 “傻瓜式” 下一步即可。
  2. 打开 Xshell,点击【新建】,在【会话属性】中配置:
    • 【主机】:输入服务器的【公网 IP】(在 ECS 实例列表中可查看,如47.104.91.103)。
    • 【端口】:默认 22(SSH 协议的默认端口,无需修改)。
    • 【协议】:选择 SSH。
  3. 点击【用户身份验证】,输入【用户名】(Ubuntu 默认超级用户为 root)和【密码】(之前重置的服务器密码),点击【连接】。
  4. 若提示 “接受主机密钥”,点击【接受】,出现root@xxx:~#即表示连接成功。
Mac 系统(使用终端)

Mac 自带 SSH 功能,无需额外安装工具:

  1. 打开【终端】(通过 Spotlight 搜索 “终端” 或在【应用程序】→【实用工具】中找到)。
  2. 在终端中输入命令:ssh root@公网IP(例如ssh root@47.104.91.103),按回车。
  3. 首次连接会提示 “是否继续连接”,输入yes后按回车,然后输入服务器密码(输入密码时终端不显示字符,直接输入即可)。
  4. 出现root@xxx:~#即表示登录成功。

1.5 SSH 连接常见问题解决

若连接时出现 “主机密钥验证失败” 错误(如下所示),需删除本地已保存的旧密钥:

plaintext

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

解决步骤:

  1. Windows 系统:打开 PuTTY,在【Session】中找到对应服务器的记录,右键删除,重新新建会话连接。
  2. Mac/Linux 系统:在终端中执行命令vi ~/.ssh/known_hosts,找到对应服务器 IP 的行,按dd删除该行,然后按:wq保存退出,重新执行 SSH 连接命令即可。

1.6 服务器基础配置:超时连接设置

默认情况下,SSH 连接闲置一段时间后会自动断开,可通过修改配置延长超时时间:

  1. 在远程终端中执行命令:vi /etc/ssh/sshd_config(编辑 SSH 服务配置文件)。
  2. 在文件中找到或添加以下两行配置:
    • ClientAliveInterval 60:每隔 60 秒向客户端发送一次心跳包,保持连接。
    • ClientAliveCountMax 86400:最多允许 86400 次心跳包无响应(即 24 小时内不会自动断开)。
  3. Esc键,输入:wq保存退出,然后执行service sshd restart重启 SSH 服务,使配置生效。

1.7 文件传输工具:FileZilla(可视化文件管理)

远程开发时,常需要将本地文件(如代码、安装包)上传到服务器,或从服务器下载文件,推荐使用 FileZilla(免费、跨平台):

  1. 下载并安装 FileZilla:FileZilla 客户端下载
  2. 打开 FileZilla,点击【文件】→【站点管理器】→【新建站点】,配置如下:
    • 【协议】:选择 “SFTP - SSH 文件传输协议”(比 FTP 更安全)。
    • 【主机】:输入服务器公网 IP。
    • 【端口】:22(默认,与 SSH 端口一致)。
    • 【登录类型】:选择 “正常”,输入【用户名】(root)和【密码】(服务器密码)。
  3. 点击【连接】,连接成功后,左侧为本地文件目录,右侧为服务器文件目录,可直接拖拽文件完成上传 / 下载(例如将本地的node安装包拖拽到服务器的/opt目录)。

1.8 端口配置:开放必要端口(防火墙设置)

阿里云服务器默认只开放 22 端口(SSH),若后续需要部署 Web 服务(如 Apache、Nginx)或数据库(如 MySQL),需手动开放对应端口(如 80、3306),步骤如下:

  1. 进入 ECS 控制台,找到目标服务器,点击【更多】→【网络和安全组】→【配置安全组】。
  2. 在安全组配置页面,点击【添加规则】,按以下格式添加常用端口:
    • 【应用类型】:选择对应服务(如 HTTP 对应 80 端口,MySQL 对应 3306 端口,自定义服务可选择 “自定义”)。
    • 【协议类型】:TCP(大部分服务使用 TCP 协议)。
    • 【端口范围】:输入端口号(如 80、3306,多个端口用逗号分隔)。
    • 【授权对象】:输入0.0.0.0/0(允许所有 IP 访问,学习场景下简化配置,生产环境需限制特定 IP)。
  3. 点击【确定】,端口开放生效(无需重启服务器,配置即时生效)。

二、Linux 操作系统基础与用户管理

2.1 Linux 系统简介:起源与核心特征

Linux 是基于 Unix 的开源操作系统,由芬兰学生 Linus Torvalds 于 1991 年开发,其核心特征如下:

  • 开放性:遵循 POSIX 标准,支持多种硬件架构,源代码公开可定制。
  • 多用户 / 多任务:允许多个用户同时登录,每个用户可运行多个程序,进程间互不干扰。
  • 稳定性与安全性:继承 Unix 的设计思想,内存管理、进程调度高效,适合长时间运行服务(如服务器)。
  • 网络友好:天生为网络设计,支持各类网络协议(TCP/IP、FTP、SSH 等),是服务器系统的首选。

Ubuntu 与 Linux、Unix 的关系:Unix 是最早的多用户操作系统(商业闭源),Linux 是基于 Unix 思想开发的开源内核,而 Ubuntu 是 Linux 的一个发行版(在 Linux 内核基础上封装了桌面环境、常用工具,开箱即用)。

2.2 Linux 系统结构(洋葱模型)

Linux 系统从底层到上层分为 4 个核心部分,理解结构有助于后续操作文件和配置服务:

  1. Hardware(硬件):服务器的物理硬件(CPU、内存、硬盘、网卡等),是系统运行的基础。
  2. Kernel(内核):系统的核心,负责管理硬件资源(如驱动设备、分配内存、调度进程),是硬件与软件的桥梁。
  3. Shell(壳):用户与内核的交互接口,通过命令行接收用户指令,翻译成内核能理解的语言(默认使用 bash shell,支持命令补全、历史记录等功能)。
  4. File System(文件系统):管理文件和目录的组织方式,Linux 中 “一切皆文件”(包括硬件设备、目录、普通文件),根目录为/,所有文件都在根目录下展开。

2.3 常用 Shell 命令:入门必备

Linux 操作依赖命令行,以下是初学者必须掌握的基础命令,建议结合实际操作练习:

2.3.1 目录与文件操作
命令 功能 示例
pwd 显示当前所在目录路径 pwd(输出如/root
ls 列出目录下的文件 / 目录 ls -l(长格式显示,包含权限、大小、修改时间);ls -a(显示隐藏文件,以.开头的文件)
cd 切换目录 cd /home(切换到/home目录);cd ~(切换到当前用户的家目录);cd ..(切换到上一级目录)
mkdir 创建目录 mkdir test(在当前目录创建test目录);mkdir -p a/b/c(级联创建多层目录)
touch 创建空文件或更新文件修改时间 touch hello.txt(创建hello.txt空文件)
rm 删除文件 / 目录 rm hello.txt(删除文件);rm -r test(递归删除test目录及所有内容);rm -rf test(强制删除,慎用)
cp 复制文件 / 目录 cp hello.txt /home(将hello.txt复制到/home目录);cp -r test /home(复制目录)
mv 移动文件 / 目录或重命名 mv hello.txt /home(移动文件);mv test test_new(重命名目录)
2.3.2 系统信息与用户操作
命令 功能 示例
whoami 显示当前登录的用户名 whoami(输出如root
id 显示当前用户的 UID(用户 ID)、GID(组 ID) id(输出如uid=0(root) gid=0(root) groups=0(root)
sudo 临时提升权限(普通用户执行管理员命令) sudo apt-get install apache2(普通用户安装 Apache 服务)
su 切换用户 su ubuntu(从 root 切换到 ubuntu 用户,无需输入密码);su - root(彻底切换到 root 用户,加载 root 的环境变量)

2.4 Linux 用户管理:添加、授权与删除

Linux 是多用户系统,合理管理用户可保障系统安全,以下是常用的用户管理命令:

2.4.1 添加用户

使用useraddadduser命令添加用户(adduser更友好,会自动创建家目录):

bash

# 示例1:使用adduser添加用户ubuntu,会自动创建/home/ubuntu家目录
adduser ubuntu

# 示例2:使用useradd指定家目录和shell(适合自定义配置)
useradd -d /home/ubuntu -s /bin/bash -m ubuntu 
# -d:指定家目录;-s:指定登录shell;-m:自动创建家目录

添加用户后,需设置密码才能登录:

bash

passwd ubuntu  # 输入两次密码(普通用户修改自己密码需先输入旧密码,root用户无限制)
2.4.2 用户授权:sudo 权限配置

普通用户默认无管理员权限,若需要让普通用户执行管理员命令(如安装软件、修改配置),需将其添加到sudoers文件中:

  1. 切换到 root 用户:su - root
  2. 编辑sudoers文件:visudo(推荐使用visudo,会自动检查语法错误,避免配置错误导致无法使用 sudo)。
  3. 在文件中找到root ALL=(ALL:ALL) ALL这一行,在下方添加:

    bash

    ubuntu ALL=(ALL:ALL) ALL  # 允许ubuntu用户使用sudo执行所有命令
    
  4. Esc,输入:wq保存退出,此时 ubuntu 用户可通过sudo 命令临时提升权限(如sudo apt-get update)。
2.4.3 删除用户

若需要删除无用用户,使用userdel命令,建议加上-r参数(同时删除用户的家目录和邮件目录,避免残留文件):

bash

userdel -r ubuntu  # 删除ubuntu用户及所有相关文件

2.5 Linux 文件权限:理解 rwx 与权限修改

Linux 通过权限控制不同用户对文件 / 目录的操作,权限分为三类用户:所有者(u)同组用户(g)其他用户(o),每类用户有三种权限:

2.5.1 权限标识与含义
权限标识 英文 含义(文件) 含义(目录)
r(4) Read 可读取文件内容 可列出目录下的文件(如ls
w(2) Write 可修改文件内容 可在目录下创建 / 删除文件(如mkdirrm
x(1) Execute 可执行文件(如脚本、程序) 可进入目录(如cd

例如,ls -l命令输出的权限字段-rwxr-xr--表示:

  • 所有者(u):rwx(可读、可写、可执行)。
  • 同组用户(g):r-x(可读、可执行,不可写)。
  • 其他用户(o):r--(仅可读)。
2.5.2 修改权限:chmod 命令

使用chmod命令修改文件 / 目录权限,支持两种方式:符号方式和数字方式(推荐数字方式,简洁高效)。

示例 1:数字方式(常用)

bash

chmod 755 hello.sh  # 所有者rwx(7),同组r-x(5),其他r-x(5)
chmod 644 test.txt  # 所有者rw-(6),同组r--(4),其他r--(4)
chmod -R 777 /var/www  # 级联修改/var/www目录及所有子文件权限为777(所有用户可读写执行,学习场景用,生产环境慎用)

示例 2:符号方式

bash

chmod u+x hello.sh  # 给所有者添加执行权限
chmod g-w test.txt  # 移除同组用户的写权限
chmod o=r test.txt  # 给其他用户设置仅读权限

总结

本文详细讲解了阿里云 Ubuntu 服务器的购买、初始化、远程登录流程,以及 Linux 系统的基础结构、常用命令和用户权限管理。对于初学者,建议先熟练掌握远程登录和基础命令(如目录切换、文件操作),再逐步尝试配置服务(如后续的 Apache、MySQL)。Linux 学习的核心是 “多练多试”,遇到问题时可通过man 命令(如man ls查看 ls 命令的详细用法)或社区(如 Stack Overflow)寻找解决方案,逐步积累经验。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐