news 2026/4/26 15:29:44

【阿里云】—— 云服务器 ECS搭建与使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【阿里云】—— 云服务器 ECS搭建与使用

阿里云ECS主机从零配置指南:新手友好,避坑必看(含完整实操)

对于新手开发者、个人站长或初级运维来说,阿里云ECS主机的配置绝对是入门路上的“第一道坎”——买了ECS不知道怎么登录、初始化配置混乱、安全组没开导致无法访问、环境配置踩坑无数……这些问题几乎是每个新手都会遇到的。

今天这篇博客,就从零开始,手把手教你完成阿里云ECS主机的完整配置,从选购建议、初始化设置,到基础环境搭建、安全加固,再到常见问题排查,全程实操落地,无多余理论,新手跟着做就能搞定,同时整理了高频踩坑点,帮你少走弯路。

说明:本文以「阿里云ECS CentOS 8.x 系统」为例(最常用、最稳定,适合新手),同时兼顾Ubuntu系统的差异说明,覆盖个人站长、小型项目部署的核心配置需求,企业级配置后续单独分享。

一、前置准备:ECS选购建议(新手不踩坑)

配置ECS的前提是选对ECS,很多新手一开始盲目选购,导致配置时出现“性能过剩浪费钱”“配置不足跑不动”“系统选错无法适配环境”等问题。这里给新手3个核心选购建议,按需选择即可:

1. 实例规格(CPU+内存):按需选择,够用就好

  • 个人站长、测试环境、小型静态网站(如博客):推荐「1核2G」或「2核2G」,足够支撑日常访问,性价比最高(阿里云新手活动价每年几十块,非常划算);

  • 小型动态网站、简单后端服务(如Python/Java小项目):推荐「2核4G」,避免内存不足导致服务崩溃;

  • 企业级应用、高并发场景:按需升级「4核8G」及以上,同时搭配负载均衡和云数据库,这里不展开(新手先聚焦基础配置)。

2. 镜像选择:新手优先CentOS,熟悉Ubuntu可选Ubuntu

镜像就是ECS的操作系统,直接决定后续环境配置的难度,新手重点关注:

  • CentOS(推荐):开源、稳定、社区支持完善,命令行操作简单,适合新手和运维,目前最常用的是CentOS 8.x(注意:CentOS 7.x已停止维护,不建议选择);

  • Ubuntu:界面更友好,适合熟悉Debian系统的开发者,命令和CentOS有差异(比如安装软件用apt-get,CentOS用yum/dnf);

  • Windows Server:适合需要部署.NET项目、远程桌面操作的场景,新手不推荐(占用资源多,配置复杂)。

3. 其他配置:新手默认即可,重点关注存储和带宽

  • 云盘:新手选择「40G 高效云盘」即可,足够存放系统和基础应用,后续不够用可随时扩容;

  • 带宽:个人站长、测试环境选择「1M-2M」即可(按流量计费更划算,避免带宽浪费);高访问量场景按需升级;

  • 地域:优先选择离目标用户最近的地域(比如用户在南方,选杭州、深圳地域;北方选北京、青岛),降低访问延迟;

  • 安全组:选购时可先默认,后续初始化时重点配置(核心,避免端口暴露导致安全风险)。

选购总结:新手直接冲「1核2G/2核2G + CentOS 8.x + 40G高效云盘 + 1M按流量计费 + 就近地域」,性价比拉满,后续可按需扩容。

二、核心步骤:阿里云ECS主机从零配置(实操落地)

选购完成后,进入ECS控制台,开始初始化配置,全程分5步,每一步都有详细操作和命令,复制即可使用,新手也能轻松跟上。(注:所有操作均以CentOS 8.x为例,Ubuntu系统差异会单独标注)

第一步:ECS主机登录(两种方式,新手优先控制台登录)

登录ECS是配置的前提,推荐两种方式,新手优先用阿里云控制台登录(无需安装额外工具),熟悉后可用Xshell等工具远程登录。

方式1:阿里云控制台登录(新手首选)
  1. 登录阿里云控制台,搜索「ECS」,进入「实例列表」,找到自己选购的ECS主机;

  2. 点击实例右侧的「远程连接」,选择「Workbench远程连接」(无需安装插件,直接在浏览器操作);

  3. 输入ECS的「用户名」和「密码」(选购时设置的,若忘记,可在实例列表右侧点击「重置实例密码」,重启ECS后生效);

  4. 登录成功后,进入命令行界面,即可开始后续配置(界面和Xshell一致,操作无差异)。

方式2:Xshell远程登录(推荐,操作更便捷)
  1. 安装Xshell(免费版即可),打开后点击「新建」,输入会话名称(任意,比如「阿里云ECS」);

  2. 「主机」填写ECS的「公网IP」(在实例列表中可查看),「端口」默认22(SSH端口,后续会优化安全);

  3. 点击「连接」,输入ECS用户名(CentOS默认root,Ubuntu默认ubuntu)和密码,即可登录成功。

避坑提醒:登录失败大概率是「安全组未开放22端口」,后续第二步会解决,先记住这个问题。

第二步:初始化基础配置(必做,避免后续踩坑)

登录成功后,首先做3个基础配置:更新系统软件、重置密码(可选)、配置主机名,确保后续环境配置稳定。

1. 更新系统软件(CentOS 8.x)

系统默认的软件包可能不是最新的,更新后可避免依赖冲突,执行以下命令(复制粘贴即可,等待执行完成):

# CentOS 8.x 更新命令(dnf是yum的升级版本,兼容yum命令)dnf update -y# 若提示“没有可用软件包”,无需担心,说明系统已更新到最新版本# Ubuntu系统更新命令(替换上面的命令)# sudo apt-get update && sudo apt-get upgrade -y
2. 重置密码(可选,若忘记或想修改)

若登录时忘记密码,除了在控制台重置,也可在命令行重置(root用户登录后执行):

# 重置root用户密码,执行后输入新密码(输入时不显示,直接输入即可)passwdroot# 重置后,后续登录需用新密码,建议设置复杂密码(字母+数字+符号),避免被暴力破解
3. 配置主机名(可选,便于识别)

默认主机名是随机的,可修改为自己容易识别的名称(比如aliyun-ecs-blog):

# 设置主机名(临时生效,重启后失效)hostnamealiyun-ecs-blog# 设置主机名永久生效(CentOS 8.x)echo"aliyun-ecs-blog">/etc/hostname# 重启生效(可选,不重启也不影响后续配置)reboot

第三步:安全组配置(核心,避免安全风险)

安全组相当于ECS的“防火墙”,控制ECS的端口开放和访问权限,新手最容易踩的坑就是“安全组未开放对应端口”,导致服务无法访问(比如22端口未开无法登录,80端口未开无法访问网站)。

以下是新手必配的安全组规则,按需开放端口,避免开放所有端口(减少安全风险):

操作步骤(控制台配置)
  1. 进入ECS实例列表,找到对应实例,点击「安全组」→「配置规则」;

  2. 点击「添加安全组规则」,按以下要求添加(重点开放4个端口,其他端口按需添加);

必配安全组规则(4个核心端口)
规则方向端口范围授权对象用途备注
入方向22/220.0.0.0/0(或自己的公网IP)SSH远程登录推荐授权对象设为自己的公网IP,更安全
入方向80/800.0.0.0/0HTTP网站访问部署网站必开
入方向443/4430.0.0.0/0HTTPS网站访问需要配置SSL证书时开
入方向3389/33890.0.0.0/0(或自己的公网IP)Windows远程桌面CentOS系统可忽略,Windows系统必开
避坑提醒:1. 授权对象尽量不要设为0.0.0.0/0(允许所有IP访问),尤其是22端口,建议设为自己的公网IP(百度搜索“我的IP”即可获取);2. 不需要的端口(比如3306 MySQL端口),暂时不要开放,后续需要时再添加。

第四步:常用环境配置(按需选择,覆盖主流场景)

基础配置和安全组搞定后,开始配置常用环境,新手最常用的场景是「部署网站」「运行后端服务」,以下是3个高频环境的实操配置,按需选择。

场景1:配置Web环境(Nginx + PHP + MySQL,部署PHP网站)

适合部署WordPress博客、PHP小程序后端等,全程命令行操作,复制即可:

# 1. 安装Nginx(Web服务器,处理HTTP请求)dnfinstallnginx -y# 2. 启动Nginx并设置开机自启(避免重启ECS后服务停止)systemctl start nginx systemctlenablenginx# 3. 安装PHP(处理PHP代码,这里安装PHP 7.4,稳定兼容)dnfinstallphp php-fpm php-mysqlnd -y# 4. 启动PHP-FPM并设置开机自启systemctl start php-fpm systemctlenablephp-fpm# 5. 安装MySQL(数据库,存储网站数据,这里安装MariaDB,兼容MySQL)dnfinstallmariadb-server mariadb -y# 6. 启动MariaDB并设置开机自启systemctl start mariadb systemctlenablemariadb# 7. 初始化MySQL(设置root密码,删除空用户,提升安全)mysql_secure_installation# 执行上一条命令后,按提示操作:# 1. 输入当前root密码(默认空,直接回车)# 2. 输入新密码(设置复杂密码,记住,后续用)# 3. 确认新密码# 4. 询问是否删除匿名用户,输入y(是)# 5. 询问是否禁止root远程登录,输入n(否,方便后续远程管理数据库)# 6. 询问是否删除test数据库,输入y(是)# 7. 询问是否刷新权限表,输入y(是)# 8. 验证环境是否正常# 新建一个测试PHP文件echo"<?php phpinfo(); ?>">/usr/share/nginx/html/test.php# 访问测试:浏览器输入 http://ECS公网IP/test.php,能看到PHP信息即配置成功
场景2:配置Python环境(运行Python后端服务)

适合运行Django、Flask等Python项目,CentOS 8.x默认自带Python 3.6,可升级并配置虚拟环境:

# 1. 升级Python到3.8(默认3.6,部分项目不兼容)dnfinstallpython38 -y# 2. 设置Python 3.8为默认版本alternatives --set python3 /usr/bin/python3.8# 3. 安装pip(Python包管理工具)dnfinstallpython3-pip -y# 4. 升级pip到最新版本pip3install--upgrade pip# 5. 安装虚拟环境(避免项目依赖冲突,推荐)pip3installvirtualenv# 6. 创建虚拟环境(比如创建名为venv的虚拟环境)virtualenv venv# 7. 激活虚拟环境(激活后,后续安装的包只在该环境生效)sourcevenv/bin/activate# 激活成功后,命令行前面会出现(venv),此时可安装项目依赖,比如:# pip install django flask# 8. 退出虚拟环境(如需)deactivate
场景3:配置Java环境(运行Java后端服务)

适合运行Spring Boot、SSM等Java项目,这里安装JDK 1.8(最稳定,兼容大部分项目):

# 1. 安装JDK 1.8(通过yum安装,无需手动配置环境变量)dnfinstalljava-1.8.0-openjdk-devel -y# 2. 验证JDK是否安装成功java -version javac -version# 若出现版本信息(比如java version "1.8.0_xxx"),即安装成功# 3. (可选)配置环境变量(若默认未配置)echo"export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk">>/etc/profileecho"export PATH=\$JAVA_HOME/bin:\$PATH">>/etc/profile# 4. 使环境变量生效source/etc/profile# 5. 验证环境变量echo$JAVA_HOME# 出现JDK安装路径即配置成功

避坑提醒:1. 安装环境时,若提示“没有可用软件包”,可先执行dnf update -y更新系统软件包;2. 启动服务后,一定要设置开机自启(systemctl enable 服务名),避免ECS重启后服务停止。

第五步:安全加固(必做,避免被攻击)

ECS配置完成后,必须做安全加固,尤其是公网可访问的ECS,否则容易被暴力破解、植入木马,以下是5个核心安全加固操作:

  1. 修改SSH端口(可选,提升22端口安全性)

执行以下命令编辑SSH配置文件:

# 编辑SSH配置文件vim/etc/ssh/sshd_config

在配置文件中找到“Port 22”这一行,将其修改为其他端口(比如2222,端口范围需在1024-65535之间),修改后该行内容为:

Port2222

注意:修改端口后,需在ECS安全组中开放2222端口,否则无法登录服务器。

完成编辑后保存退出vim(操作方式:按i键进入编辑模式,编辑完成后按Esc键,输入:wq并按回车键)。

执行以下命令重启SSH服务,使配置生效:

systemctl restart sshd

后续登录服务器时,需将端口改为2222(Xshell、控制台登录均需修改)。

  1. 禁止root用户远程登录(推荐,提升安全)

首先执行命令编辑SSH配置文件:

# 编辑SSH配置文件vim/etc/ssh/sshd_config

在配置文件中找到“PermitRootLogin yes”这一行,将其修改为:

PermitRootLogin no

保存退出配置文件后,执行以下命令重启SSH服务:

systemctl restart sshd

注意:修改该配置前,需先创建一个普通用户,避免修改后无法登录服务器(后续可通过普通用户登录,再执行su - root切换到root用户)。

创建普通用户(示例用户名为test):

useraddtest

为该普通用户设置密码:

passwdtest
  1. 开启防火墙(CentOS 8.x默认使用firewalld)

执行以下命令启动firewalld并设置开机自启:

# 启动firewalld并设置开机自启systemctl start firewalld systemctlenablefirewalld

开放核心端口(需与ECS安全组配置一致,避免冲突):

firewall-cmd --permanent --add-port=22/tcp# SSH端口,若修改过则替换为新端口firewall-cmd --permanent --add-port=80/tcp# HTTP端口firewall-cmd --permanent --add-port=443/tcp# HTTPS端口

执行以下命令重新加载防火墙,使配置生效:

firewall-cmd --reload

执行以下命令查看已开放的端口:

firewall-cmd --list-ports
  1. 定期备份ECS快照(避免数据丢失)

快照是ECS的“备份副本”,配置完成后、修改重要设置前,一定要创建快照,避免误操作导致数据丢失,操作步骤如下:

  1. 进入ECS实例列表,点击「快照」→「创建快照」;

  2. 输入快照名称(比如“2024-05-20 基础配置完成”),点击「创建」;

  3. 快照创建完成后,若后续ECS出现问题,可通过快照回滚到正常状态。

  4. 定期更新系统和软件(修复安全漏洞)

建议每月执行一次系统更新命令,修复系统和软件的安全漏洞,避免被攻击。Ubuntu系统的更新命令如下:

sudoapt-getupdate&&sudoapt-getupgrade -y

总结

  • 所有操作均为ECS公网访问场景下的核心安全加固措施,优先执行“禁止root远程登录”“开启防火墙”“定期更新”;
  • 代码块可直接复制到服务器终端执行,修改端口、开放端口时需确保安全组与防火墙配置一致;
  • 定期备份快照可有效规避误操作、攻击导致的数据丢失风险。

三、常见问题排查(新手必看,解决90%的配置问题)

配置过程中,新手容易遇到各种问题,以下是4个高频问题的排查方法,快速解决,不用走弯路:

  1. **问题1:远程登录失败(SSH/控制台登录不了)**排查步骤:1. 检查ECS是否处于「运行中」状态(实例列表可查看,若已停止,点击启动);2. 检查安全组是否开放22端口(或修改后的SSH端口);3. 检查密码是否正确(可重置实例密码,重启ECS后重试);4. 检查防火墙是否开放SSH端口(firewall-cmd --list-ports 查看)。

  2. **问题2:浏览器无法访问网站(输入公网IP无法打开)**排查步骤:1. 检查安全组是否开放80/443端口;2. 检查Nginx服务是否正常运行(systemctl status nginx,若未运行,执行systemctl start nginx);3. 检查测试文件(test.php)是否存在,路径是否正确;4. 检查防火墙是否开放80/443端口。

  3. **问题3:服务启动失败(比如Nginx、PHP-FPM启动不了)**排查步骤:1. 执行systemctl status 服务名(比如systemctl status nginx),查看失败原因;2. 大概率是端口被占用,执行netstat -tlnp | grep 端口号(比如grep 80),查看哪个进程占用了端口,杀死该进程(kill -9 进程ID),再重启服务;3. 若提示依赖缺失,执行dnf install 依赖包(根据提示补充)。

  4. **问题4:数据库无法连接(比如PHP无法连接MySQL)**排查步骤:1. 检查MariaDB服务是否正常运行(systemctl status mariadb);2. 检查数据库密码是否正确(重新执行mysql_secure_installation 重置密码);3. 检查数据库授权(登录MySQL,执行grant all privileges on.to ‘root’@‘%’ identified by ‘密码’; 开放远程连接);4. 检查安全组是否开放3306端口(若需要远程连接数据库)。

四、总结

阿里云ECS主机的配置,核心是「先搞定基础配置和安全组,再按需搭建环境,最后做好安全加固」,对于新手来说,不用追求复杂的配置,先掌握本文的核心步骤,就能完成大部分场景的配置(个人博客、测试环境、小型项目部署)。

重点记住3个核心点:1. 安全组是第一道防线,按需开放端口,避免暴露风险;2. 服务启动后,一定要设置开机自启,避免重启ECS后服务停止;3. 定期备份快照,避免数据丢失。

后续会继续分享阿里云ECS的进阶配置,比如ECS扩容、负载均衡配置、数据迁移、Docker环境搭建等,感兴趣的可以持续关注~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 6:47:56

2天,我用函数计算 AgentRun 爆改一副赛博朋克眼镜

背景 一年前&#xff0c;我购入了 Meta Ray-ban 眼镜&#xff0c;Meta 对于眼镜本体的开发及 App 更新很快&#xff0c;但由于没有中文支持和开放的SDK 导致对国内用户非常不友好。2025 年 11 月&#xff0c;Meta 终于放出了 Device Access Toolkit 让社区看到了点意思&#x…

作者头像 李华
网站建设 2026/4/17 21:34:10

【2026官方最新】贵州工商职业学院专业设置一览表(含39个专业方向)

一、 学校概况&#xff1a;中国一流高职院校 贵州工商职业学院是经贵州省人民政府批准、教育部备案的全日制普通高等职业院校。学校办学实力雄厚&#xff0c;荣获“校友会全国高职院校前30强”、“中国一流高职院校”及“贵州省级高水平专业群院校”等殊荣。学校始终坚持“以学…

作者头像 李华
网站建设 2026/4/18 10:32:59

ShardingSphere 分库分表技术详解与 Spring Boot 实践

文章目录 前言理论基础1. 分库分表概念2. ShardingSphere 架构组成3. 核心组件4. 原理分析 Spring Boot 集成方案1. Maven 依赖配置2. 配置文件设置3. 测试用例4. 测试效果 实际应用场景1. 电商订单系统2. 日志分表策略 性能优化建议1. 连接池配置2. 查询优化 总结 前言 随着业…

作者头像 李华
网站建设 2026/4/17 20:14:21

PCBT600化学镀锡添加剂工程应用:基于工程与材料科学原理

摘要化学镀锡技术在PCB表面处理行业中占据重要地位。T600化学镀锡添加剂作为行业内的有效解决方案&#xff0c;主要解决了传统工艺中锡须生长、高纵横比孔径镀层不均、复杂布线无法覆盖等问题。其通过优化甲基磺酸/硫酸体系中锡离子反应状态&#xff0c;控制化学镀锡层稳定生长…

作者头像 李华
网站建设 2026/4/22 20:44:07

算清每一分钱:2026年AI开发平台选型与落地的精细化ROI测算模型

企业决策最终要回归财务逻辑。在AI热潮中保持清醒&#xff0c;必须回答&#xff1a;这个AI开发平台的投入&#xff0c;究竟能带来多少回报&#xff1f;本文将提供一个超越概念、可操作的精细化ROI测算框架&#xff0c;帮助您在思考2026年AI开发平台怎么选和规划AI应用如何落地时…

作者头像 李华