在阿里云服务器上部署后端代码是一个常见的开发运维任务。以下是详细的步骤指南,适用于大多数后端项目(如 Node.js、Python Flask/Django、Java Spring Boot、Go 等)。
✅ 一、准备工作
-
购买并配置阿里云 ECS 实例
- 登录 阿里云控制台
- 创建一台 ECS 云服务器(建议选择 Ubuntu/CentOS 系统)
- 配置安全组:开放必要的端口(如
22SSH,80HTTP,443HTTPS,3000/8080等你的应用端口)
-
获取服务器信息
- 公网 IP 地址
- 登录用户名(如
root或ubuntu) - 密码或密钥对(
.pem文件)
✅ 二、连接到服务器(SSH)
ssh root@你的公网IP
# 或使用密钥
ssh -i /path/to/your-key.pem root@你的公网IP
首次登录后建议修改密码并创建普通用户以提高安全性。
✅ 三、安装运行环境
根据你的后端技术栈安装对应环境:
示例 1:Node.js 项目
# 安装 Node.js(以 Ubuntu 为例)
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
# 验证
node -v
npm -v
示例 2:Python 项目(Flask/Django)
sudo apt update
sudo apt install python3 python3-pip python3-venv -y
示例 3:Java 项目(Spring Boot)
sudo apt install openjdk-17-jdk -y
java -version
示例 4:Go 项目
wget https://go.dev/dl/go1.22.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
✅ 四、上传代码到服务器
有几种方式:
方法 1:使用 Git 克隆
git clone https://github.com/yourname/your-backend-repo.git
cd your-backend-repo
建议提前将代码托管到 GitHub/Gitee 等平台。
方法 2:本地上传(使用 SCP)
scp -r ./your-project root@你的IP:/root/
方法 3:使用 FTP 工具(如 FileZilla)
通过 SFTP 协议上传文件。
✅ 五、安装依赖并启动服务
Node.js 示例:
cd /root/your-project
npm install
npm run build # 如果是生产构建
npm start # 或 pm2 start app.js
Python Flask 示例:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
gunicorn -w 4 -b 0.0.0.0:5000 app:app
Java Spring Boot 示例:
nohup java -jar your-app.jar --server.port=8080 &
✅ 六、使用进程管理工具(推荐)
避免程序退出后服务中断。
推荐:PM2(Node.js)
npm install -g pm2
pm2 start app.js
pm2 startup
pm2 save
推荐:systemd(通用)
创建服务文件 /etc/systemd/system/myapp.service:
[Unit]
Description=My Backend App
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/root/your-project
ExecStart=/usr/bin/node app.js
Restart=always
[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl enable myapp
sudo systemctl start myapp
✅ 七、配置反向X_X(Nginx,可选但推荐)
安装 Nginx:
sudo apt install nginx -y
sudo systemctl start nginx
配置站点(/etc/nginx/sites-available/default):
server {
listen 80;
server_name your-domain.com; # 或服务器IP
location / {
proxy_pass http://127.0.0.1:3000; # 转发到你的后端端口
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
测试并重载:
sudo nginx -t
sudo systemctl reload nginx
✅ 八、域名与 HTTPS(可选)
- 绑定域名:在阿里云 DNS 控制台添加 A 记录指向服务器 IP。
- 申请免费 SSL 证书(Let’s Encrypt):
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d your-domain.com
✅ 九、防火墙和安全设置
- 关闭不必要的端口
- 使用
ufw防火墙:sudo ufw allow 22 sudo ufw allow 80 sudo ufw allow 443 sudo ufw enable
✅ 十、常见问题排查
| 问题 | 解决方法 |
|---|---|
| 无法访问网站 | 检查安全组是否放行端口 |
| 502 Bad Gateway | 检查后端是否运行,Nginx 配置是否正确 |
| 权限错误 | 使用 chmod 和 chown 设置权限 |
| 内存不足 | 升级 ECS 规格或添加 swap |
🎯 总结流程
买 ECS → 连 SSH → 装环境 → 传代码 → 装依赖 → 启服务 → 配 Nginx → 加 HTTPS
如果你提供具体的后端框架(如 Express、Django、Spring Boot 等),我可以给出更精确的部署脚本和配置示例。欢迎补充!
云知识