在阿里云ECS(Elastic Compute Service)上跑代码是一种非常常见的做法,尤其适用于需要长期运行、计算资源较多或希望脱离本地环境进行部署和测试的场景。下面我将为你详细介绍如何在阿里云ECS上运行代码,包括基本流程、推荐配置、注意事项等。
一、准备工作
1. 注册并登录阿里云账号
- 访问 阿里云官网
- 注册账号并完成实名认证(个人或企业均可)
2. 创建ECS实例
步骤:
- 登录 阿里云控制台
- 搜索“ECS”或进入“云服务器ECS”
- 点击“创建实例”
- 配置如下选项:
- 地域:选择离你最近或网络延迟低的地区(如华北-北京)
- 实例类型:根据需求选择(如
ecs.t5-lc1m2.small适合学习/轻量使用,ecs.g6.large适合深度学习/大数据处理) - 镜像:建议选择CentOS、Ubuntu Server 或 Windows Server(看你熟悉哪个系统)
- 磁盘:至少选40GB系统盘,可以加数据盘
- 公网IP:建议分配一个公网IP(否则无法远程连接)
- 安全组:设置好开放端口(如SSH 22、HTTP 80、Jupyter Notebook 8888等)
二、连接ECS服务器
1. 使用SSH连接(Linux/macOS用户)
ssh root@你的公网IP
如果是普通用户:
ssh username@你的公网IP
2. 使用远程桌面(Windows Server ECS)
使用远程桌面工具(如 Windows 自带的 mstsc.exe),输入公网IP和用户名密码即可。
三、上传代码到ECS
方法一:直接在ECS上写代码
- 安装编辑器(如vim、nano、VS Code远程开发插件)
- 直接用命令行编写脚本
方法二:通过Git拉取项目
git clone https://github.com/yourusername/yourproject.git
方法三:使用FTP/SFTP上传文件
- 推荐工具:FileZilla、WinSCP(Windows)、scp命令(Linux/Mac)
示例:
scp -r /本地路径 username@公网IP:/远程路径
四、运行代码
1. Python代码运行示例
安装Python依赖:
sudo apt update
sudo apt install python3-pip
pip3 install -r requirements.txt
运行脚本:
python3 your_script.py
如果想后台运行:
nohup python3 your_script.py > output.log 2>&1 &
查看日志:
tail -f output.log
2. Jupyter Notebook 运行方式
安装jupyter:
pip3 install jupyter
生成配置文件:
jupyter notebook --generate-config
修改配置文件允许远程访问:
nano ~/.jupyter/jupyter_notebook_config.py
修改以下内容:
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.open_browser = False
c.NotebookApp.allow_remote_access = True
启动服务:
jupyter notebook --port=8888
然后浏览器访问:http://公网IP:8888 即可使用。
⚠️ 注意:需要在安全组中开放8888端口!
五、常用工具安装推荐
| 工具 | 命令 |
|---|---|
| Git | sudo apt install git |
| Python3 | sudo apt install python3 python3-pip |
| Vim | sudo apt install vim |
| Screen/Tmux | 多终端管理工具 |
| Docker | 可用于部署复杂应用 |
六、常见问题与注意事项
1. 安全组设置
- 如果无法访问某些端口,请检查安全组是否放行。
- 控制台 -> 网络与安全 -> 安全组 -> 编辑规则
2. 资源监控
- 使用阿里云自带的监控面板查看CPU、内存、磁盘使用情况
- 或者安装
htop,nmon,iotop等工具
3. 数据备份
- 定期快照备份ECS磁盘
- 或者使用OSS做对象存储备份
4. 成本控制
- 选择按量付费还是包年包月取决于用途
- 不用时可以关机(停止实例)节省费用
七、进阶玩法
- 部署Web服务:结合Nginx + Flask/Django/Gunicorn
- 搭建私有Git仓库:用Gitea或GitLab
- 使用Docker容器化部署
- 定时任务:crontab自动执行脚本
- 远程开发:配合 VS Code Remote SSH 插件
如果你告诉我你想运行什么类型的代码(比如Python、Java、爬虫、机器学习、Web后端等),我可以给你更具体的步骤和优化建议哦!
是否需要我帮你写一个完整的部署脚本或者自动化流程?
PHPWP博客