新手小白部署阿里云服务器
前提条件
- 已购买阿里云 ECS 云服务器(或轻量应用服务器)
- 系统为 Linux(推荐 Ubuntu 22.04 / CentOS 7+)
- 本地电脑可 SSH 连接服务器
- 你的项目代码已准备好(例如在 GitHub 或本地)
🔧 第一步:登录服务器
1. 获取公网 IP
在阿里云控制台 → 云服务器 ECS → 实例 → 找到你的 公网 IP 地址
2. 用 SSH 登录(Windows 可用 PowerShell / Xshell;Mac/Linux 用终端)
bash
ssh root@你的公网IP
输入密码(或使用密钥)
⚠️ 首次登录建议创建普通用户(安全),但为简化,这里用
root
🔒 第二步:配置安全组(关键!)
在阿里云控制台:
❗ 如果不开放端口,外网无法访问你的服务!
- 进入 ECS 实例 → 安全组 → 配置规则
- 开放端口(根据你的项目):
- HTTP: 80
- HTTPS: 443
- 自定义端口(如 Flask 默认 5000):5000
- SSH: 22(已默认开放)
📦 第三步:安装必要软件
以 Ubuntu 22.04 为例(CentOS 用 yum 替代 apt):
bash
# 更新系统
apt update && apt upgrade -y
# 安装 Git、Python、pip、Nginx(反向代理用)
apt install -y git python3 python3-pip nginx
# 检查 Python 版本
python3 --version
其他项目类型:
- Node.js:安装
nodejs npm- Java:安装
openjdk-17-jdk- 静态网站:只需 Nginx
🚀 第四步:上传并部署你的项目(可以新开一个powershell,更方便)
方式 A:从 GitHub 克隆(推荐)
bash
cd /root
git clone https://github.com/你的用户名/你的项目.git
cd 你的项目
方式 B:本地上传(用 scp)
使用本地地址
bash
# 本地终端执行(非服务器)
scp -r ./my_project root@你的IP:/root/
# 将会在/root/下创建一个和你的项目同名的文件夹,并把所有的文件内容放到里面
例子:
✅ 方法:使用 scp 命令(Secure Copy)
scp 是基于 SSH 的安全文件传输命令,直接通过终端就能把本地文件夹或文件上传到服务器,不需要额外工具(Windows 10/11、macOS、Linux 都自带)。
🔧 操作步骤(以你的本地项目为例)
假设:
-
你的 本地项目路径 是:
C:\my_project(Windows)或/Users/yourname/my_project(Mac/Linux) -
你的 阿里云服务器公网 IP 是:
47.95.123.45 -
你用的用户名是:
root(也可以是其他用户)
🖥️ 在你 本地电脑的终端/命令行 执行:
▶️ Windows(PowerShell 或 CMD)
powershell
# 注意:路径用正斜杠 / 或双反斜杠 \\
scp -r C:/my_project root@47.95.123.45:/root/
如果提示
scp不是命令(旧版 Windows),可改用 WSL 或安装 OpenSSH 客户端。
安装依赖(以 Python Flask 为例)
bash
pip3 install -r requirements.txt
▶️ 第五步:运行你的项目(临时测试)
bash
# Flask 示例(确保 app.py 中 host='0.0.0.0')
python3 app.py
✅ 此时在浏览器访问
http://你的IP:5000应能看到页面
❌ 但关闭 SSH 后进程会退出 → 需要用 后台服务管理
🔄 第六步:用 systemd 管理服务(持久运行)
创建服务文件:
bash
nano /etc/systemd/system/myapp.service
粘贴以下内容(Flask 示例):
ini
[Unit]
Description=My Flask App
After=network.target
[Service]
User=root
WorkingDirectory=/root/你的项目
ExecStart=/usr/bin/python3 /root/你的项目/app.py
Restart=always
[Install]
WantedBy=multi-user.target
启用服务:
bash
systemctl daemon-reexec
systemctl start myapp
systemctl enable myapp # 开机自启
检查状态:
bash
systemctl status myapp
🌐 第七步:配置 Nginx 反向代理(推荐)
编辑 Nginx 配置:
bash
nano /etc/nginx/sites-available/default
修改 server 块:
nginx
server {
listen 80;
server_name your_domain_or_ip;
location / {
proxy_pass http://127.0.0.1:5000; # 转发到 Flask
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
重载 Nginx:
bash
nginx -t && systemctl reload nginx
✅ 现在访问
http://你的IP(无需端口)即可看到网站!
🛡️ 第八步:基础安全建议
- 不要长期用 root → 创建普通用户 + sudo
- 设置防火墙(UFW):
bashufw allow 22 ufw allow 80 ufw allow 443 ufw enable - 定期更新系统:
apt upgrade -y - 敏感信息不要硬编码(用环境变量)
📌 不同项目类型简要说明
表格
| 项目类型 | 关键步骤差异 |
|---|---|
| Node.js | 用 npm install,ExecStart=/usr/bin/node app.js |
| Django | 需 collectstatic,用 Gunicorn + Nginx |
| 静态网站 | 直接把文件放 /var/www/html,Nginx 指向即可 |
| Java JAR | ExecStart=/usr/bin/java -jar app.jar |
更多推荐



所有评论(0)