将项目部署到阿里云 ECS(Elastic Compute Service)服务器是一个常见的运维操作。以下是详细的步骤指南,帮助你顺利完成项目部署。
🚀 一、准备工作
-
购买并配置 ECS 实例
- 登录 阿里云控制台
- 创建一台 ECS 实例(选择操作系统如 CentOS、Ubuntu、Debian 等)
- 设置安全组规则:
- 开放 SSH(22端口)
- 开放 HTTP(80端口)、HTTPS(443端口)
- 如需其他端口(如 Node.js 的 3000),也需开放
-
获取登录信息
- 记录公网 IP 地址
- 获取登录密码或 SSH 密钥(
.pem文件)
🔐 二、连接到 ECS 服务器
使用 SSH 连接到服务器:
ssh root@你的公网IP
如果是 Ubuntu 系统,可能是:
ssh ubuntu@你的公网IP
如果使用密钥文件:
ssh -i /path/to/your-key.pem root@你的公网IP
提示:首次连接会提示是否继续,输入
yes即可。
📦 三、安装必要的环境
根据你的项目类型安装对应运行环境:
✅ 示例:部署一个 Node.js + Nginx 项目
- 更新系统包
sudo apt update && sudo apt upgrade -y
# 或 CentOS:
# yum update -y
- 安装 Node.js(以 v18 为例)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
验证安装:
node -v
npm -v
- 安装 PM2(进程管理工具)
npm install -g pm2
- 安装 Nginx(反向X_X)
sudo apt install nginx -y
启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
📁 四、上传项目代码
有几种方式上传代码:
方法 1:使用 Git 克隆
git clone https://github.com/yourname/your-project.git
cd your-project
npm install
确保代码仓库是公开的,或配置 SSH 密钥用于私有仓库。
方法 2:本地上传(使用 SCP)
在本地电脑执行:
scp -r ./your-project root@你的IP:/root/
▶️ 五、启动项目
进入项目目录:
cd /root/your-project
npm run build # 如果是前端项目
使用 PM2 启动(Node.js 服务):
pm2 start app.js --name "my-app"
# 或 npm start
pm2 start npm --name "my-app" -- start
查看运行状态:
pm2 list
pm2 logs
🔄 六、配置 Nginx 反向X_X
编辑 Nginx 配置:
sudo nano /etc/nginx/sites-available/default
修改 location 块,例如X_X到本地 3000 端口:
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;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}
保存后测试配置并重启 Nginx:
sudo nginx -t
sudo systemctl restart nginx
🌐 七、访问项目
在浏览器中输入:
http://你的公网IP
如果一切正常,你应该能看到你的网站!
🔒 八、(可选)配置域名与 HTTPS
-
绑定域名
- 在阿里云 DNS 控制台添加 A 记录,指向 ECS 公网 IP
-
申请 SSL 证书(免费用 Let’s Encrypt)
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your-domain.com
自动配置 HTTPS。
🧰 九、常用命令总结
| 功能 | 命令 |
|---|---|
| 查看 IP | curl ifconfig.me |
| 重启 Nginx | sudo systemctl restart nginx |
| 查看端口占用 | netstat -tulnp 或 lsof -i:3000 |
| 查看日志 | pm2 logs 或 tail -f /var/log/nginx/error.log |
| 设置开机启动 | pm2 startup + pm2 save |
❗ 注意事项
- 安全组务必开放所需端口(80, 443, 22)
- 不要直接用 root 跑服务,建议创建普通用户
- 定期备份数据和监控服务状态
- 使用
.env文件管理敏感信息,不要提交到代码中
如果你告诉我你的项目类型(如 Vue、React、Spring Boot、Django 等),我可以提供更具体的部署脚本和优化建议 😊
需要我生成一键部署脚本吗?
云服务器